cangc1e-firmware-en
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | cangc1e-firmware-en [2018/11/12 08:56] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== CAN-GC1e Firmware ====== | ||
+ | [[english|{{ | ||
+ | [[english|Content]] -> [[english# | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * **[[: | ||
+ | * [[: | ||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | ===== Copyrights ===== | ||
+ | * (c) [[http:// | ||
+ | * (c) [[http:// | ||
+ | * (c) [[http:// | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Protocol ===== | ||
+ | The protocol used over Ethernet will be the same as used for the CANRS and CANUSB: Gridconnect ASCII Frames.\\ | ||
+ | |||
+ | ====ASCII Frame==== | ||
+ | < | ||
+ | : | ||
+ | : -> Start of frame | ||
+ | S -> Frame type: S=Standard, X=Extended, Y=Ethernet | ||
+ | h1 -> SIDH < | ||
+ | h2 -> SIDL < | ||
+ | N -> N=normal R=RTR¹ | ||
+ | d0 -> OPC (2 byte HEXA) | ||
+ | d1-d7 -> Data (2 byte HEXA) | ||
+ | ; -> End of frame | ||
+ | </ | ||
+ | ¹) RTR = " | ||
+ | |||
+ | |||
+ | ===Ethernet(Y)=== | ||
+ | The Ethernet Frames are for communication between client and CAN-GC1e only.\\ | ||
+ | ^ OPC ^ Description ^ Data ^ | ||
+ | | 0 | Ping; Resets the idle timer. | - | | ||
+ | | 1 | Status report event.\\ Triggered by the number of connections. | d1: error code\\ d2: number of connections\\ d3: max.¹ CAN queue\\ d4: max.¹ Ethernet queue | | ||
+ | | 2 | Command Ack with return code, OPC and ticker. | d1: error code\\ d2: the OPC acknowledged\\ d3: ticker (continuous running number from 0 to 255) | | ||
+ | ¹) The highest queue index used so far.\\ | ||
+ | \\ | ||
+ | ^ Error code ^ Description ^ | ||
+ | | 0 | OK | | ||
+ | | 1 | RC_UNKNOWN_ASCII_FRAME | | ||
+ | \\ | ||
+ | Trace snippet: | ||
+ | < | ||
+ | cbreader OCBUS 1205 Ethernet status: rc=0 con=1 maxcanQ=1 maxethQ=4 | ||
+ | ... | ||
+ | cbreader OCBUS 1215 Ethernet command Ack: rc=0 opc=0x71 cmdticker=28 | ||
+ | </ | ||
+ | |||
+ | ===Extended(X)=== | ||
+ | Extended frames are used for Boot loading new firmware over the CBUS.\\ | ||
+ | * {{: | ||
+ | * {{: | ||
+ | |||
+ | |||
+ | \\ | ||
+ | ===== Default settings ===== | ||
+ | At initial startup, first time, the firmware expects EEPROM address 0 to have a value of 0xFF. This will trigger writing the default setup values into EEPROM like IP address, MAC and so on.\\ | ||
+ | If the programmer did overwrite the EEPROM with other values it can be triggered by holding down the pushbutton at power up.\\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== IDs ===== | ||
+ | | NMRA Manufacturer ID | 70 | | ||
+ | | Product ID | 11 | | ||
+ | | Default node number | 11 | | ||
+ | | Default CanID | 11 |\\ | ||
+ | |||
+ | \\ | ||
+ | ===== Node Variables ===== | ||
+ | ^ # ^ Description ^ | ||
+ | | 1 | node configuration | | ||
+ | | 2 | CAN-ID¹ (Read only) | | ||
+ | | 3-6 | IP Address | | ||
+ | | 7-10 | NetMask | | ||
+ | | 11-16 | MAC Address | | ||
+ | | 17 | Idle time in 500ms | | ||
+ | ¹) The CAN-ID is token from the frames coming from the PC.\\ | ||
+ | |||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | ==== Node configuration byte ==== | ||
+ | ^ Bit ^ Function | ||
+ | | 0 | Idle time watch dog | This will disconnect a client after reaching the idle timer. | | ||
+ | | 1 | Power off at idle | Only available in case of an active idle time watch dog. | | ||
+ | | 2 | Activate command ack. | Every incoming command on the ethernet will be acknowledged using an ' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Binaries ===== | ||
+ | * https:// | ||
+ | |||
+ | ===== Sources ===== | ||
+ | * https:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Development Tools ===== | ||
+ | * MPLAB X v1.00 | ||
+ | * C18 v3.40 | ||
+ | * PICKit 3 | ||
+ | * **[[: | ||
+ | |||
+ | \\ | ||
cangc1e-firmware-en.txt · Last modified: 2018/11/12 08:56 by 127.0.0.1