Custom Node Services
the hargrave arinc 825 message set includes a series of custom node services for device configuration and configuration validation consult the basic or advanced arinc guide for guidance on can id structures for node services node services the can frames for the below node services are structured as follows image png the payload size is a maximum of 8 bytes the first 2 bytes are the service function code (sfc) which indicates which node service the message is for the remaining up to 6 bytes can be used for node service data custom node services the following standard node services are implemented sfc node service has response scs controlled description 0xc000 firmware hash service yes no requests the 32 bit build hash of the firmware used to determine the build of firmware running on the device 0xc001 restart service yes no requests a device restart 0xc002 get parameter value service yes yes (parameter group) requests the value of a given parameter 0xc003 set parameter value service yes yes (parameter group) sets the value of a given parameter 0xc004 get parameter type service yes yes (parameter group) requests the type of a given parameter 0xc005 settings hash service yes yes (parameter group) requests a 32 bit hash of a given subset of the device settings used to verify device configuration 0xc006 get parameter minimum service yes yes (parameter group) requests the minimum value of a given parameter 0xc007 get parameter maximum service yes yes (parameter group) requests the maximum value of a given parameter 0xc008 get parameter default service yes yes (parameter group) requests the default value of a given parameter 0xc009 reset parameter service yes yes (parameter group) requests the reset of all device settings custom node service offset in the case that the implemented custom node service sfcs collide with pre existing node services on the network, an offset can be applied this can be controlled through the device settings and will apply the configured positive offset to the custom node services only example with a configured custom node service offset of 100, the effective sfc of the firmware hash service becomes service control service mapping for convenience, all parameter handling node services are mapped to the same service control service lock enabling any of the parameter node services will enable all of them, using any of the parameter node services will reset the timeout, disabling any of the parameter node services will disable all of them setting types and values the following types are supported over custom node services code type 0x01 bool 0x02 uint8 0x03 uint16 0x04 uint32 0x09 float32 setting values in parameter handling node services are a maximum of 4 bytes and have the following memory representation for the above types this type will be indicated with the term setting value messages 0xc000 firmware hash service the firmware hash service is used to confirm which firmware build is running on a given device the returned 32 bit firmware build hash can be accessed in the firmware change logs request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc000 firmware hash request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc000 2 5 uint32 32 bit firmware build hash firmware hash response payload structure 0xc001 restart service the restart service is used to request a device to reboot depending on the state the device is in (e g motor drive) it may reject a restart request request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc001 restart request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc001 2 int8 ack 0 nack 1 restart response payload structure 0xc002 get parameter value service the get parameter value service requests the value of a setting of a given setting id setting ids can be found in the product documentation request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc002 2 3 uint16 setting id parameter get request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc002 2 3 uint16 setting id 4 7 setting value setting value parameter get response payload structure 0xc003 set parameter value service the set parameter value service is used to set the new value of a setting of a given setting id setting ids can be found in the product documentation the parameter set response contains the setting value after the request has been processed, equivalent to a parameter get response, if the value does not match that of the parameter set request then the request failed and the setting was not changed request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc003 2 3 uint16 setting id 4 7 setting value value to set the setting to parameter set request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc003 2 3 uint16 setting id 4 7 setting value value of the setting after the set request has been processed parameter set response payload structure 0xc004 get parameter type service the get parameter type service requests the type of a setting of a given setting id setting ids can be found in the product documentation the setting types are listed in the above ‘setting types and values’ section, the type of a setting is used to infer the structure of the data returned in fields of type setting value request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc004 2 3 uint16 setting id get parameter type request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc004 2 3 uint16 setting id 4 uint8 setting type get parameter type response payload structure 0xc005 settings hash service the settings hash service requests a calculated hash of the current settings values of a given subset of the settings as defined by the ‘hash type’ field the following hash types are supported hash type settings subset 0x00 all settings 0x01 group settings settings that are typically kept the same between lrus on a vehicle 0x02 protected settings settings that are not individually configurable if configured incorrectly, these settings could cause damage to your device request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc005 2 uint8 hash type settings hash request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc005 2 uint8 hash type 3 6 uint32 settings hash settings hash response payload structure 0xc006 get parameter minimum service the get parameter minimum service will return the minimum valid value for a setting of a given setting id setting ids can be found in the product documentation attempting to set a setting value below this minimum bound will cause the set operation to fail request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc006 2 3 uint16 setting id get parameter minimum request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc006 2 3 uint16 setting id 4 7 setting value minimum setting value get parameter minimum response payload structure 0xc007 get parameter maximum service the get parameter maximum service will return the maximum valid value for a setting of a given setting id setting ids can be found in the product documentation attempting to set a setting value above this maximum bound will cause the set operation to fail request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc007 2 3 uint16 setting id get parameter maximum request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc007 2 3 uint16 setting id 4 7 setting value maximum setting value get parameter maximum response payload structure 0xc008 get parameter default service the get parameter default service will return the default value for a setting of a given setting id setting ids can be found in the product documentation this is the value that the setting will have after a settings reset request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc008 2 3 uint16 setting id get parameter default response payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc008 2 3 uint16 setting id 4 7 setting value default setting value get parameter default response payload structure 0xc009 reset parameters service request the request is structured as follows bytes datatype content 0 1 uint16 sfc 0xc009 reset parameters request payload structure response the response is structured as follows bytes datatype content 0 1 uint16 sfc 0xc009 2 int8 ack 0 reset failed 1 reset rejected 2 reset parameters response payload structure