@@ -558,6 +558,90 @@ namespace kickcat
558
558
std::string software_version;
559
559
IdentityObject identity;
560
560
};
561
+
562
+ // ETG1510
563
+ struct ConfigurationData
564
+ {
565
+ uint8_t number_of_entries;
566
+ uint16_t fixed_station_address;
567
+ std::string type; // CA ?
568
+ std::string name;
569
+ uint32_t device_type;
570
+ uint32_t vendor_id;
571
+ uint32_t product_code;
572
+ uint32_t revision_number;
573
+ uint32_t serial_number;
574
+ uint16_t mailbox_out_size;
575
+ uint16_t mailbox_in_size;
576
+ uint8_t link_status;
577
+ uint8_t link_preset;
578
+ uint8_t flags;
579
+ uint16_t port_physics;
580
+ uint16_t mailbox_protocol_supported;
581
+ bool diag_history_object_supported;
582
+ };
583
+
584
+ // ETG1510
585
+ struct InformationData
586
+ {
587
+ uint8_t number_of_entries;
588
+ uint16_t station_address;
589
+ uint32_t vendor_id;
590
+ uint32_t product_code;
591
+ uint32_t revision_number;
592
+ uint32_t serial_number;
593
+ uint16_t dl_status_register;
594
+ };
595
+
596
+ // ETG 1510
597
+ struct DiagnosisData
598
+ {
599
+ uint8_t number_of_entries;
600
+ uint16_t al_status;
601
+ uint16_t al_control; // / RW / RO ?
602
+ uint16_t last_al_status_code;
603
+ uint8_t link_conn_status;
604
+ uint8_t link_control; // / RW / RO ?
605
+ uint16_t fixed_address_conn_port_0;
606
+ uint16_t fixed_address_conn_port_1;
607
+ uint16_t fixed_address_conn_port_2;
608
+ uint16_t fixed_address_conn_port_3;
609
+ uint32_t frame_error_counter_port_0;
610
+ uint32_t frame_error_counter_port_1;
611
+ uint32_t frame_error_counter_port_2;
612
+ uint32_t frame_error_counter_port_3;
613
+ uint32_t cyclic_wc_error_counter;
614
+ uint32_t slave_not_present_counter;
615
+ uint32_t abnormal_state_change_counter;
616
+ bool disable_automatic_link_control; // / RW /RO ?
617
+ uint32_t last_coe_soe_protocol_error;
618
+ bool new_diag_message_available;
619
+ };
620
+
621
+ struct DetectModulesCommand
622
+ {
623
+ uint8_t number_of_entries;
624
+ char scan_command_request[2 ]; // / RW ?
625
+ uint8_t scan_command_status;
626
+ char scan_command_response[6 ];
627
+ };
628
+
629
+ struct MasterDiagData
630
+ {
631
+ uint8_t number_of_entries;
632
+ uint32_t cyclic_lost_frames;
633
+ uint32_t acyclic_lost_frames;
634
+ uint32_t cyclic_frames_per_second;
635
+ uint32_t acyclic_frame_per_second;
636
+ uint16_t master_state;
637
+ };
638
+
639
+ struct DiagInterfaceControl
640
+ {
641
+ uint8_t number_of_entries;
642
+ uint16_t reset_diag_info; // / RW
643
+ };
644
+
561
645
}
562
646
563
647
// MAC addresses are not used by EtherCAT but set them helps the debug easier when following a network trace.
0 commit comments