CH Tech EM405D user manual Successful 0x00 The command completed successfully without error

Models: EM405D

1 48
Download 48 pages 8.75 Kb
Page 24
Image 24

Successful (0x00): The command completed successfully without error.

Invalid Command (0x01): The first byte received was not a valid command-id value from the list in Table I.

Invalid Parameter (0x02): The EM405D received a valid command however the command could not be completed because one of the command parameters was invalid or out of range. Refer to the description of each individual command for parameter details.

Module Did Not Respond (0x03): The EM405D received a valid command with valid parameters; however, the specified module did not respond to the access. This error code applies to M-module accesses only. The error code could result from the specified M-module being absent, the specified address being outside the range of addresses supported by the particular M- module, or more serious hardware problems with the M-module itself.

Once any of the above status codes are returned, the EM405D will set the Reset Error (RERR) status bit in the EM405D Reset Error and Manufacturer ID register (refer to section 4.3.5 for details on this register) and cease responding to further commands except the Read Data and Write Data commands to the Reset Error and Manufacturer ID register. To recover from this condition, the user must clear the RERR bit by writing a ‘1’ to that bit location in the Reset Error and Manufacturer ID register.

This functionality is implemented so that when the EM405D recognizes an error at the beginning of a command, it can search the buffer for the next command without having to send a status code response for each byte remaining in the buffer. For example, assume this functionality didn’t exist and the user wanted to perform a block write with a 1024 byte block. The full command for this action, including data, requires 1033 bytes to be placed into the EM405D’s buffer. If the third byte in the command is an invalid parameter, the EM405D would return an Invalid Parameter (0x02) status code followed by one thousand and thirty Invalid Command (0x01) status codes, one for each byte in the buffer after the invalid parameter. By implementing this functionality, the EM405D will ignore the one thousand and thirty bytes and any following bytes in the buffer unless the command is a Read Data or Write Data of the Reset Error and Manufacturer ID register or until the RERR bit is reset to ‘0’.

The software must be written such that it checks for error conditions and performs the appropriate action to reset the RERR bit. In most cases error conditions are generated by errors in the software source code, therefore, once the software has been debugged and verified, error codes will rarely, if ever be received.

18

Page 24
Image 24
CH Tech EM405D user manual Successful 0x00 The command completed successfully without error