$ Altitude AP CNC Monitor V5 - generated by firmware/tools/make_eds.py [File] DescText = "CNC stack-light / runtime monitor, 6 inputs + 2 CTs"; CreateDate = 11-09-2026; CreateTime = 08:53:20; ModDate = 11-09-2026; ModTime = 08:53:20; Revision = 1.5; [Device] VendCode = 65535; VendName = "Altitude AP LLC"; ProdType = 43; ProdTypeStr = "Generic Device (keyable)"; ProdCode = 1; MajRev = 1; MinRev = 5; ProdName = "Altitude CNC Monitor V5"; Catalog = "CNCMON-V5"; [Device Classification] Class1 = EtherNetIP; [Params] Param1 = 0, ,, 0x0000, 0xC7, 2, "status", "", "bits 0-5 inputs 1-6 on, 6/7 CT1/CT2 running, 8 24V present, 9 PoE present, 10 link, 11 RTC set, 12 FRAM ok, 13 CT converter ok, 15 fault", ,,0, ,,,, ,,,, ; Param2 = 0, ,, 0x0000, 0xC7, 2, "firmware", "", "high byte major, low byte minor", ,,0, ,,,, ,,,, ; Param3 = 0, ,, 0x0000, 0xC8, 4, "uptime_s", "", "", ,,0, ,,,, ,,,, ; Param4 = 0, ,, 0x0000, 0xC8, 4, "unix_time", "", "UTC seconds since 1970, 0 = clock not set", ,,0, ,,,, ,,,, ; Param5 = 0, ,, 0x0000, 0xC7, 2, "vin_0.01V", "", "24 V supply, 0.01 V", ,,0, ,,,, ,,,, ; Param6 = 0, ,, 0x0000, 0xC7, 2, "poe_0.01V", "", "PoE 5 V, 0.01 V", ,,0, ,,,, ,,,, ; Param7 = 0, ,, 0x0000, 0xC7, 2, "machine_state", "", "", ,,0, ,,,, ,,,, ; Param8 = 0, ,, 0x0000, 0xC7, 2, "spindle_level", "", "", ,,0, ,,,, ,,,, ; Param9 = 0, ,, 0x0000, 0xC7, 2, "in1_state", "", "", ,,0, ,,,, ,,,, ; Param10 = 0, ,, 0x0000, 0xC7, 2, "in2_state", "", "", ,,0, ,,,, ,,,, ; Param11 = 0, ,, 0x0000, 0xC7, 2, "in3_state", "", "", ,,0, ,,,, ,,,, ; Param12 = 0, ,, 0x0000, 0xC7, 2, "in4_state", "", "", ,,0, ,,,, ,,,, ; Param13 = 0, ,, 0x0000, 0xC7, 2, "in5_state", "", "", ,,0, ,,,, ,,,, ; Param14 = 0, ,, 0x0000, 0xC7, 2, "in6_state", "", "", ,,0, ,,,, ,,,, ; Param15 = 0, ,, 0x0000, 0xC8, 4, "spindle_0.01A", "", "", ,,0, ,,,, ,,,, ; Param16 = 0, ,, 0x0000, 0xC8, 4, "ct2_0.01A", "", "", ,,0, ,,,, ,,,, ; Param17 = 0, ,, 0x0000, 0xC8, 4, "in1_count", "", "", ,,0, ,,,, ,,,, ; Param18 = 0, ,, 0x0000, 0xC8, 4, "in2_count", "", "", ,,0, ,,,, ,,,, ; Param19 = 0, ,, 0x0000, 0xC8, 4, "in3_count", "", "", ,,0, ,,,, ,,,, ; Param20 = 0, ,, 0x0000, 0xC8, 4, "in4_count", "", "", ,,0, ,,,, ,,,, ; Param21 = 0, ,, 0x0000, 0xC8, 4, "in5_count", "", "", ,,0, ,,,, ,,,, ; Param22 = 0, ,, 0x0000, 0xC8, 4, "in6_count", "", "", ,,0, ,,,, ,,,, ; Param23 = 0, ,, 0x0000, 0xC8, 4, "in1_on_s", "", "", ,,0, ,,,, ,,,, ; Param24 = 0, ,, 0x0000, 0xC8, 4, "in2_on_s", "", "", ,,0, ,,,, ,,,, ; Param25 = 0, ,, 0x0000, 0xC8, 4, "in3_on_s", "", "", ,,0, ,,,, ,,,, ; Param26 = 0, ,, 0x0000, 0xC8, 4, "in4_on_s", "", "", ,,0, ,,,, ,,,, ; Param27 = 0, ,, 0x0000, 0xC8, 4, "in5_on_s", "", "", ,,0, ,,,, ,,,, ; Param28 = 0, ,, 0x0000, 0xC8, 4, "in6_on_s", "", "", ,,0, ,,,, ,,,, ; Param29 = 0, ,, 0x0000, 0xC8, 4, "in1_flash_s", "", "", ,,0, ,,,, ,,,, ; Param30 = 0, ,, 0x0000, 0xC8, 4, "in2_flash_s", "", "", ,,0, ,,,, ,,,, ; Param31 = 0, ,, 0x0000, 0xC8, 4, "in3_flash_s", "", "", ,,0, ,,,, ,,,, ; Param32 = 0, ,, 0x0000, 0xC8, 4, "in4_flash_s", "", "", ,,0, ,,,, ,,,, ; Param33 = 0, ,, 0x0000, 0xC8, 4, "in5_flash_s", "", "", ,,0, ,,,, ,,,, ; Param34 = 0, ,, 0x0000, 0xC8, 4, "in6_flash_s", "", "", ,,0, ,,,, ,,,, ; Param35 = 0, ,, 0x0000, 0xC8, 4, "spindle_on_s", "", "", ,,0, ,,,, ,,,, ; Param36 = 0, ,, 0x0000, 0xC8, 4, "spindle_cut_s", "", "", ,,0, ,,,, ,,,, ; Param37 = 0, ,, 0x0000, 0xC8, 4, "spindle_starts", "", "", ,,0, ,,,, ,,,, ; Param38 = 0, ,, 0x0000, 0xC8, 4, "ct2_run_s", "", "", ,,0, ,,,, ,,,, ; Param39 = 0, ,, 0x0000, 0xC8, 4, "ct2_starts", "", "", ,,0, ,,,, ,,,, ; Param40 = 0, ,, 0x0000, 0xC8, 4, "state_unknown_s", "", "", ,,0, ,,,, ,,,, ; Param41 = 0, ,, 0x0000, 0xC8, 4, "state_off_s", "", "", ,,0, ,,,, ,,,, ; Param42 = 0, ,, 0x0000, 0xC8, 4, "state_idle_s", "", "", ,,0, ,,,, ,,,, ; Param43 = 0, ,, 0x0000, 0xC8, 4, "state_running_s", "", "", ,,0, ,,,, ,,,, ; Param44 = 0, ,, 0x0000, 0xC8, 4, "state_alarm_s", "", "", ,,0, ,,,, ,,,, ; Param45 = 0, ,, 0x0000, 0xC8, 4, "state_setup_s", "", "", ,,0, ,,,, ,,,, ; Param46 = 0, ,, 0x0000, 0xC8, 4, "state_warning_s", "", "", ,,0, ,,,, ,,,, ; Param47 = 0, ,, 0x0000, 0xC8, 4, "state_maintenance_s", "", "", ,,0, ,,,, ,,,, ; Param48 = 0, ,, 0x0000, 0xC8, 4, "state_changes", "", "", ,,0, ,,,, ,,,, ; Param49 = 0, ,, 0x0000, 0xC8, 4, "boot_count", "", "", ,,0, ,,,, ,,,, ; Param50 = 0, ,, 0x0000, 0xC8, 4, "total_s", "", "", ,,0, ,,,, ,,,, ; Param51 = 0, ,, 0x0000, 0xC7, 2, "modbus_clients", "", "", ,,0, ,,,, ,,,, ; Param52 = 0, ,, 0x0000, 0xC7, 2, "eip_io_conns", "", "", ,,0, ,,,, ,,,, ; Param53 = 0, ,, 0x0000, 0xC8, 4, "state_age_s", "", "", ,,0, ,,,, ,,,, ; Param54 = 0, ,, 0x0000, 0xC7, 2, "ct2_running", "", "", ,,0, ,,,, ,,,, ; Param55 = 0, ,, 0x0000, 0xC7, 2, "ct_config", "", "", ,,0, ,,,, ,,,, ; Param56 = 0, ,, 0x0000, 0xC7, 2, "reset_reason", "", "last reset: 1 power-on, 3 software, 4 crash, 5-7 watchdog, 9 brown-out", ,,0, ,,,, ,,,, ; Param57 = 0, ,, 0x0000, 0xC7, 2, "diag_flags", "", "0 simulation, 1 new firmware not yet confirmed, 2 update window open, 3 settings defaulted, 4 Bluetooth open, 5 FRAM write error, 6 last update rolled back", ,,0, ,,,, ,,,, ; Param58 = 0, ,, 0x0000, 0xC7, 2, "min_heap_kb", "", "lowest free memory since boot, KB", ,,0, ,,,, ,,,, ; Param59 = 0, ,, 0x0000, 0xC7, 2, "fram_errors", "", "failed FRAM writes since boot", ,,0, ,,,, ,,,, ; Param60 = 0, ,, 0x0000, 0xC7, 2, "remote_write", "", "0 read-only, 1 basic, 2 full", ,,0, ,,,, ,,,, ; Param61 = 0, ,, 0x0000, 0xC7, 2, "reserved99", "", "", ,,0, ,,,, ,,,, ; Param62 = 0, ,, 0x0000, 0xC7, 2, "command", "", "1 reset counters, 2 identify, 3 reboot, 4 apply network, 5 open update window, 0x5AFE factory reset; acts on change; 3, 4, 5 and 0x5AFE need remote_write full", ,,0, ,,,, ,,,, ; Param63 = 0, ,, 0x0000, 0xC7, 2, "reset_mask", "", "rising bit resets: bits 0-5 inputs 1-6, 6-7 CT1-CT2", ,,0, ,,,, ,,,, ; Param64 = 0, ,, 0x0000, 0xC8, 4, "RPI", "microsecond", "Requested packet interval", 10000,3200000,100000, ,,,, ,,,, ; [Assembly] Object_Name = "Assembly Object"; Object_Class_Code = 0x04; Assem100 = "Input data", "", 200, 0x0000, ,, 16,Param1, 16,Param2, 32,Param3, 32,Param4, 16,Param5, 16,Param6, 16,Param7, 16,Param8, 16,Param9, 16,Param10, 16,Param11, 16,Param12, 16,Param13, 16,Param14, 32,Param15, 32,Param16, 32,Param17, 32,Param18, 32,Param19, 32,Param20, 32,Param21, 32,Param22, 32,Param23, 32,Param24, 32,Param25, 32,Param26, 32,Param27, 32,Param28, 32,Param29, 32,Param30, 32,Param31, 32,Param32, 32,Param33, 32,Param34, 32,Param35, 32,Param36, 32,Param37, 32,Param38, 32,Param39, 32,Param40, 32,Param41, 32,Param42, 32,Param43, 32,Param44, 32,Param45, 32,Param46, 32,Param47, 32,Param48, 32,Param49, 32,Param50, 16,Param51, 16,Param52, 32,Param53, 16,Param54, 16,Param55, 16,Param56, 16,Param57, 16,Param58, 16,Param59, 16,Param60, 16,Param61; Assem150 = "Output data", "", 4, 0x0001, ,, 16,Param62, 16,Param63; [Connection Manager] Revision = 1; Object_Name = "Connection Manager Object"; Object_Class_Code = 0x06; MaxInst = 1; Number_Of_Static_Instances = 1; Max_Number_Of_Dynamic_Instances = 0; Connection1 = 0x84010002, 0x44640405, Param64,,Assem150, Param64,,Assem100, ,, 0,, "Exclusive Owner", "", "20 04 24 97 2C 96 2C 64"; Connection2 = 0x02010002, 0x44640305, Param64,0,, Param64,,Assem100, ,, 0,, "Input Only", "", "20 04 24 97 2C 98 2C 64"; Connection3 = 0x01010002, 0x44240305, Param64,0,, Param64,,Assem100, ,, 0,, "Listen Only", "", "20 04 24 97 2C 99 2C 64"; [Capacity] MaxMsgConnections = 6; MaxIOProduceConsume = 2; MaxIOMcastProducers = 1; MaxIOMcastConsumers = 1; MaxConsumersPerMcast = 3; TSpec1 = TxRx, 200, 100; [TCP/IP Interface Class] Revision = 4; Object_Name = "TCP/IP Interface Object"; Object_Class_Code = 0xF5; MaxInst = 1; Number_Of_Static_Instances = 1; Max_Number_Of_Dynamic_Instances = 0; [Ethernet Link Class] Revision = 4; Object_Name = "Ethernet Link Object"; Object_Class_Code = 0xF6; MaxInst = 1; Number_Of_Static_Instances = 1; Max_Number_Of_Dynamic_Instances = 0; [Identity Class] Revision = 1; Object_Name = "Identity Object"; Object_Class_Code = 0x01; MaxInst = 1; Number_Of_Static_Instances = 1; Max_Number_Of_Dynamic_Instances = 0; [QoS Class] Revision = 1; Object_Name = "QoS Object"; Object_Class_Code = 0x48; MaxInst = 1; Number_Of_Static_Instances = 1; Max_Number_Of_Dynamic_Instances = 0;