[namespace][object_key][payload length][payload]
####
sub format {
return [
[Version1 => [1, 'C', '%u', undef, 'checkString']],
[Version1String => [0, 'a*', '%s', undef, 'chompString']],
[Version2 => [1, 'C', '%u', undef, 'checkString']],
[Version2String => [0, 'a*', '%s', undef, 'chompString']],
];
}
####
['Speed' => [2, 'v', '%u', [ 0,1,100,0]]],#speed x 100 , 16 bit vax unsigned, 0 to 65535 (655.35) m/s
['Voltage' => [1, 'C', '%u', [200,1,100,0]]],#Voltage x100, + 2V, 8 bit char unsigned, 0 (2V) to 255 (4.55V)
['Method' => undef ],#0 length item for using the format for other things like building human displays
####
sub format {
return [
[ID => [10, 'C[10]', '%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X']],
[MajorVersion => [1, 'C', '%u']],
[MinorVersion => [1, 'C', '%u']],
[SubVersion => [1, 'C', '%u']],
];
}