canboat 9.1.0

NMEA 2000 decoding, encoding and live-bus access: the CANboat PGN database as a library, plus the canboat CLI (convert / interface / server / tui).
Documentation
// ==========================================================================
//
//   GENERATED FILE - DO NOT EDIT.
//
//   Written by `keel generate` from the YAML database in database/. An
//   edit here is lost the next time it runs.
//
//   To change a PGN, a lookup or a field type, edit the YAML:
//
//       database/quick/pgns/<pgn>-<id>.yaml     one file per PGN variant
//       database/lookups/<NAME>.yaml      one file per enumeration
//       database/fieldtypes.yaml          the field-type hierarchy
//
//   Then run `keel generate` (or `make generated`, which also refreshes
//   the C tables and canboat.xml); a bare `cargo build` does not.
//
// ==========================================================================
use crate::engine::types::{BitLookupTable, FieldInfo, FieldType, IndirectLookupTable, LookupFieldTypeTable, LookupTable, LookupValue, PacketType, PgnInfo};
/// Index of each entry in `PGNS_SI` / `PGNS_METRIC`, by PGN id.
#[allow(non_camel_case_types, clippy::upper_case_acronyms)]
#[derive(Clone, Copy)]
pub enum Idx {
    STANDARD_CAN_FRAME,
    QUICK_UNKNOWN6C0,
    QUICK_CHAIN_COUNT,
    QUICK_UNKNOWN6C2,
    QUICK_UNKNOWN6C3,
    ACTISENSE_OPERATING_MODE,
    ACTISENSE_PRODUCT_INFO_MAIN,
    ACTISENSE_PRODUCT_INFO_MODEL_ID,
    ACTISENSE_PRODUCT_INFO_SOFTWARE_VERSION,
    ACTISENSE_PRODUCT_INFO_HARDWARE_VERSION,
    ACTISENSE_PRODUCT_INFO_SERIAL_NUMBER,
    ACTISENSE_PRODUCT_INFO,
    ACTISENSE_STARTUP_STATUS,
    ACTISENSE_ERROR_REPORT,
    ACTISENSE_SYSTEM_STATUS,
    ACTISENSE_NEGATIVE_ACK,
    NMEA2000_GATEWAY_NETWORK_STATUS,
    CANBOAT_STARTUP,
    CANBOAT_NMEA0183_FILTER,
    CANBOAT_PGN_OVERRIDE,
    __COUNT,
}
static F_STANDARD_CAN_FRAME:&[FieldInfo]=&[FieldInfo{order:1,id:"data",name:"Data",description:None,spn:None,continuation:None,continues:None,bit_length:Some(64),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Binary),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_QUICK_UNKNOWN6C0:&[FieldInfo]=&[FieldInfo{order:1,id:"talkerId",name:"Talker ID",description:Some("The same 16 bits start every Quick message from a device; see Chain Count"),spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"data",name:"Data",description:None,spn:None,continuation:None,continues:None,bit_length:Some(48),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(16),bit_start:Some(0),resolution:Some(1.0),signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Binary),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_QUICK_CHAIN_COUNT:&[FieldInfo]=&[FieldInfo{order:1,id:"talkerId",name:"Talker ID",description:Some("The same 16 bits start every Quick message from a device"),spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"chainCounter",name:"Chain Counter",description:Some("Chain paid out, counted in the unit that Units names"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(16),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"units",name:"Units",description:Some("The unit Chain Counter counts in"),spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(48),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Lookup),lookup_enumeration:Some("QUICK_CHAIN_UNITS"),lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_QUICK_UNKNOWN6C2:&[FieldInfo]=&[FieldInfo{order:1,id:"talkerId",name:"Talker ID",description:Some("The same 16 bits start every Quick message from a device; see Chain Count"),spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"data",name:"Data",description:None,spn:None,continuation:None,continues:None,bit_length:Some(48),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(16),bit_start:Some(0),resolution:Some(1.0),signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Binary),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_QUICK_UNKNOWN6C3:&[FieldInfo]=&[FieldInfo{order:1,id:"talkerId",name:"Talker ID",description:Some("The same 16 bits start every Quick message from a device; see Chain Count"),spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"data",name:"Data",description:None,spn:None,continuation:None,continues:None,bit_length:Some(48),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(16),bit_start:Some(0),resolution:Some(1.0),signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Binary),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_OPERATING_MODE:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"operatingMode",name:"Operating Mode",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Lookup),lookup_enumeration:Some("ACTISENSE_OPERATING_MODE"),lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_PRODUCT_INFO_MAIN:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:Some("Part 1 of 5"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:Some(1),part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"nmea2000Version",name:"NMEA 2000 Version",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(0.001),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65.532),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:3,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:6,id:"productCode",name:"Product Code",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(104),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:7,id:"certificationLevel",name:"Certification Level",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(120),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Lookup),lookup_enumeration:Some("CERTIFICATION_LEVEL"),lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:8,id:"loadEquivalency",name:"Load Equivalency",description:Some("50 mA per LEN"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(128),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_PRODUCT_INFO_MODEL_ID:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:Some("Part 2 of 5"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:Some(2),part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"modelIdString",name:"Model ID String",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_PRODUCT_INFO_SOFTWARE_VERSION:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:Some("Part 3 of 5"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:Some(3),part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"softwareVersion",name:"Software Version",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_PRODUCT_INFO_HARDWARE_VERSION:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:Some("Part 4 of 5"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:Some(4),part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"hardwareVersion",name:"Hardware Version",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_PRODUCT_INFO_SERIAL_NUMBER:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:Some("Part 5 of 5"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:Some(5),part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"serialNumber",name:"Serial Number",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_PRODUCT_INFO:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:Some("Single message"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:Some(6),part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"structureVariant",name:"Structure Variant",description:Some("17 (SV_AppProdInfo)"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:6,id:"nmea2000Version",name:"NMEA 2000 Version",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(120),bit_start:Some(0),resolution:Some(0.001),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65.532),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:3,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:7,id:"productCode",name:"Product Code",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(136),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:8,id:"modelIdString",name:"Model ID String",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(152),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:9,id:"softwareVersion",name:"Software Version",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(408),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:10,id:"hardwareVersion",name:"Hardware Version",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(664),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:11,id:"serialNumber",name:"Serial Number",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(920),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:12,id:"certificationLevel",name:"Certification Level",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(1176),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Lookup),lookup_enumeration:Some("CERTIFICATION_LEVEL"),lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:13,id:"loadEquivalency",name:"Load Equivalency",description:Some("50 mA per LEN"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(1184),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_STARTUP_STATUS:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"firmwareVersion",name:"Firmware version",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(0.001),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65.532),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:3,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:6,id:"resetStatus",name:"Reset status",description:Some("Device-specific reset causes; only the first byte on older firmware"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(104),bit_start:Some(0),resolution:Some(1.0),signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Binary),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_ERROR_REPORT:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"dataSize",name:"Data size",description:Some("Bytes of error data that follow, including the Structure Variant"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:6,id:"structureVariant",name:"Structure Variant",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(96),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_SYSTEM_STATUS:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"indiChannelCount",name:"Indi channel count",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:6,id:"ch1RxBandwidth",name:"Ch1 Rx Bandwidth",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(96),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:7,id:"ch1RxLoad",name:"Ch1 Rx Load",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(104),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:8,id:"ch1RxFiltered",name:"Ch1 Rx Filtered",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(112),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:9,id:"ch1RxDropped",name:"Ch1 Rx Dropped",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(120),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:10,id:"ch1TxBandwidth",name:"Ch1 Tx Bandwidth",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(128),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:11,id:"ch1TxLoad",name:"Ch1 Tx Load",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(136),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:12,id:"ch2RxBandwidth",name:"Ch2 Rx Bandwidth",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(144),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:13,id:"ch2RxLoad",name:"Ch2 Rx Load",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(152),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:14,id:"ch2RxFiltered",name:"Ch2 Rx Filtered",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(160),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:15,id:"ch2RxDropped",name:"Ch2 Rx Dropped",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(168),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:16,id:"ch2TxBandwidth",name:"Ch2 Tx Bandwidth",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(176),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:17,id:"ch2TxLoad",name:"Ch2 Tx Load",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(184),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:18,id:"uniChannelCount",name:"Uni channel count",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(192),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:19,id:"ch1Bandwidth",name:"Ch1 Bandwidth",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(200),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:20,id:"ch1Deleted",name:"Ch1 Deleted",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(208),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:21,id:"ch1Bufferloading",name:"Ch1 BufferLoading",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(216),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:22,id:"ch1Pointerloading",name:"Ch1 PointerLoading",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(224),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:23,id:"ch2Bandwidth",name:"Ch2 Bandwidth",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(232),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:24,id:"ch2Deleted",name:"Ch2 Deleted",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(240),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:25,id:"ch2Bufferloading",name:"Ch2 BufferLoading",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(248),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:26,id:"ch2Pointerloading",name:"Ch2 PointerLoading",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(256),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_ACTISENSE_NEGATIVE_ACK:&[FieldInfo]=&[FieldInfo{order:1,id:"sid",name:"SID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"modelId",name:"Model ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"serialId",name:"Serial ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(24),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"errorId",name:"Error ID",description:Some("Actisense error code; 0 is success"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(56),bit_start:Some(0),resolution:Some(1.0),signed:Some(true),offset:None,range_min:Some(-2147483648.0),range_max:Some(2147483644.0),unknown_value:Some(2147483647),out_of_range_value:Some(2147483646),reserved_value:Some(2147483645),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"uniqueCommandId",name:"Unique Command ID",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_NMEA2000_GATEWAY_NETWORK_STATUS:&[FieldInfo]=&[FieldInfo{order:1,id:"canNetworkLoad",name:"CAN network load",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"errors",name:"Errors",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"deviceCount",name:"Device count",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(40),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"uptime",name:"Uptime",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(48),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:Some("s"),physical_quantity:Some("DURATION"),field_type:Some(FieldType::Duration),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"gatewayAddress",name:"Gateway address",description:None,spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(80),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:6,id:"rejectedTxRequests",name:"Rejected TX requests",description:None,spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_CANBOAT_STARTUP:&[FieldInfo]=&[FieldInfo{order:1,id:"version",name:"Version",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(0.001),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65.532),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:3,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"source",name:"Source",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(16),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"device",name:"Device",description:None,spn:None,continuation:None,continues:None,bit_length:Some(256),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(272),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_CANBOAT_NMEA0183_FILTER:&[FieldInfo]=&[FieldInfo{order:1,id:"function",name:"Function",description:Some("0=Report (pipeline->tui), 1=Set (tui->pipeline)"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"source",name:"Source",description:Some("N2K source address this record refers to"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(255.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Address),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"sentence",name:"Sentence",description:Some("3-letter NMEA 0183 formatter, or 'ALL' for the whole source"),spn:None,continuation:None,continues:None,bit_length:Some(24),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(16),bit_start:Some(0),resolution:None,signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::StringFix),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"muted",name:"Muted",description:Some("0=active (emitting), 1=muted"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(40),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"reserved",name:"Reserved",description:None,spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(48),bit_start:Some(0),resolution:Some(1.0),signed:None,offset:None,range_min:None,range_max:None,unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Reserved),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
static F_CANBOAT_PGN_OVERRIDE:&[FieldInfo]=&[FieldInfo{order:1,id:"function",name:"Function",description:Some("0=Report (server->tui), 1=Set, 2=Request, 3=Delete (tui->server)"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(0),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:2,id:"source",name:"Source",description:Some("N2K source address of the device the override targets"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(8),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(255.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Address),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:3,id:"pgn",name:"PGN",description:Some("Commanded PGN whose transmission interval is overridden"),spn:None,continuation:None,continues:None,bit_length:Some(24),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(16),bit_start:Some(0),resolution:Some(1.0),signed:None,offset:None,range_min:Some(0.0),range_max:Some(262143.0),unknown_value:None,out_of_range_value:None,reserved_value:None,unit:None,physical_quantity:None,field_type:Some(FieldType::Pgn),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:4,id:"intervalMs",name:"Interval",description:Some("Requested transmission interval in ms; 0 = stop transmitting"),spn:None,continuation:None,continues:None,bit_length:Some(32),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(40),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(4294967292.0),unknown_value:Some(4294967295),out_of_range_value:Some(4294967294),reserved_value:Some(4294967293),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:5,id:"manufacturerCode",name:"Manufacturer Code",description:Some("For proprietary PGNs; 0xffff = not applicable"),spn:None,continuation:None,continues:None,bit_length:Some(16),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(72),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(65532.0),unknown_value:Some(65535),out_of_range_value:Some(65534),reserved_value:Some(65533),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},FieldInfo{order:6,id:"industryCode",name:"Industry Code",description:Some("For proprietary PGNs; 0xff = not applicable"),spn:None,continuation:None,continues:None,bit_length:Some(8),bit_length_field:None,encoding:None,bit_length_variable:None,bit_offset:Some(88),bit_start:Some(0),resolution:Some(1.0),signed:Some(false),offset:None,range_min:Some(0.0),range_max:Some(252.0),unknown_value:Some(255),out_of_range_value:Some(254),reserved_value:Some(253),unit:None,physical_quantity:None,field_type:Some(FieldType::Number),lookup_enumeration:None,lookup_bit_enumeration:None,lookup_indirect_enumeration:None,lookup_indirect_enumeration_field_order:None,lookup_field_type_enumeration:None,trailing_zero_is_digit:None,match_value:None,part_of_primary_key:None,condition:None,unit_offset:0.0,precision:0,is_dynamic_length_marker:false,dynamic_field_length_overhead:0},];
pub static PGNS_SI: &[PgnInfo] = &[
PgnInfo{pgn:0,id:"standardCanFrame",description:"11-bit CAN frame",explanation:Some("An 11-bit CAN identifier with no definition. An 11-bit identifier is only a message type and carries no manufacturer, so nothing says which device or protocol sent it; its payload is shown as is."),url:None,packet_type:PacketType::Single,complete:Some(true),fallback:Some(true),missing:&[],priority:None,transmission_interval:None,transmission_irregular:Some(true),field_count:1,length:Some(8),min_length:None,fields:F_STANDARD_CAN_FRAME,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:true},
PgnInfo{pgn:1728,id:"quickUnknown6c0",description:"Quick: Unknown 0x6C0",explanation:Some("Sent by a Quick windlass alongside Chain Count (0x6C1). Its payload did not change in the one capture we have, so what it carries is not known."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:2,length:Some(8),min_length:None,fields:F_QUICK_UNKNOWN6C0,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:true},
PgnInfo{pgn:1729,id:"quickChainCount",description:"Quick: Chain Count",explanation:Some("A Quick windlass's chain counter, about twice a second."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Resolution","Lookups","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:3,length:Some(8),min_length:None,fields:F_QUICK_CHAIN_COUNT,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:1730,id:"quickUnknown6c2",description:"Quick: Unknown 0x6C2",explanation:Some("Sent by a Quick windlass alongside Chain Count (0x6C1). Its payload did not change in the one capture we have, so what it carries is not known."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:2,length:Some(8),min_length:None,fields:F_QUICK_UNKNOWN6C2,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:true},
PgnInfo{pgn:1731,id:"quickUnknown6c3",description:"Quick: Unknown 0x6C3",explanation:Some("Sent by a Quick windlass alongside Chain Count (0x6C1). Its payload did not change in the one capture we have, so what it carries is not known."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:2,length:Some(8),min_length:None,fields:F_QUICK_UNKNOWN6C3,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:true},
PgnInfo{pgn:262161,id:"actisenseOperatingMode",description:"Actisense: Operating mode",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(13),min_length:None,fields:F_ACTISENSE_OPERATING_MODE,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoMain",description:"Actisense: Product info, main",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:8,length:Some(17),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_MAIN,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoModelId",description:"Actisense: Product info, model ID",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(43),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_MODEL_ID,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoSoftwareVersion",description:"Actisense: Product info, software version",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(43),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_SOFTWARE_VERSION,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoHardwareVersion",description:"Actisense: Product info, hardware version",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(43),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_HARDWARE_VERSION,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoSerialNumber",description:"Actisense: Product info, serial number",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(43),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_SERIAL_NUMBER,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfo",description:"Actisense: Product info",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:13,length:Some(149),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262384,id:"actisenseStartupStatus",description:"Actisense: Startup status",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:6,length:Some(17),min_length:None,fields:F_ACTISENSE_STARTUP_STATUS,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262385,id:"actisenseErrorReport",description:"Actisense: Error report",explanation:Some("BEM F1H, sent unsolicited by an Actisense gateway that hits an error; the Error ID names it. The error data that follows the Structure Variant depends on that variant and is not decoded. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/error-report.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Fields","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:6,length:Some(16),min_length:None,fields:F_ACTISENSE_ERROR_REPORT,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262386,id:"actisenseSystemStatus",description:"Actisense: System status",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:26,length:Some(33),min_length:None,fields:F_ACTISENSE_SYSTEM_STATUS,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262388,id:"actisenseNegativeAck",description:"Actisense: Negative Ack",explanation:Some("BEM F4H, sent by an Actisense gateway when it cannot carry out a command; the Error ID says why. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/negative-ack.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(15),min_length:None,fields:F_ACTISENSE_NEGATIVE_ACK,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262400,id:"nmea2000GatewayNetworkStatus",description:"NMEA 2000 gateway: network status",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:6,length:Some(15),min_length:None,fields:F_NMEA2000_GATEWAY_NETWORK_STATUS,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262656,id:"canboatStartup",description:"CANboat: Startup",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:3,length:Some(66),min_length:None,fields:F_CANBOAT_STARTUP,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262657,id:"canboatNmea0183Filter",description:"CANboat: NMEA 0183 filter",explanation:Some("Control channel for the NMEA 0183 sentence filter. Carried only on the server's dedicated bidirectional filter port, never on the CAN bus - it is a CANBOAT_BEM pseudo-PGN, like the rest of the 0x40000+ range."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(8),min_length:None,fields:F_CANBOAT_NMEA0183_FILTER,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262658,id:"canboatPgnOverride",description:"CANboat: PGN transmission-interval override",explanation:Some("Control channel for per-device transmission-interval overrides. A CANBOAT_BEM pseudo-PGN (0x40000+), exchanged between a server and its clients rather than on the CAN bus."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:6,length:Some(12),min_length:None,fields:F_CANBOAT_PGN_OVERRIDE,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
];
const _: () = assert!(PGNS_SI.len() == Idx::__COUNT as usize);
pub static PGNS_METRIC: &[PgnInfo] = &[
PgnInfo{pgn:0,id:"standardCanFrame",description:"11-bit CAN frame",explanation:Some("An 11-bit CAN identifier with no definition. An 11-bit identifier is only a message type and carries no manufacturer, so nothing says which device or protocol sent it; its payload is shown as is."),url:None,packet_type:PacketType::Single,complete:Some(true),fallback:Some(true),missing:&[],priority:None,transmission_interval:None,transmission_irregular:Some(true),field_count:1,length:Some(8),min_length:None,fields:F_STANDARD_CAN_FRAME,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:true},
PgnInfo{pgn:1728,id:"quickUnknown6c0",description:"Quick: Unknown 0x6C0",explanation:Some("Sent by a Quick windlass alongside Chain Count (0x6C1). Its payload did not change in the one capture we have, so what it carries is not known."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:2,length:Some(8),min_length:None,fields:F_QUICK_UNKNOWN6C0,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:true},
PgnInfo{pgn:1729,id:"quickChainCount",description:"Quick: Chain Count",explanation:Some("A Quick windlass's chain counter, about twice a second."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Resolution","Lookups","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:3,length:Some(8),min_length:None,fields:F_QUICK_CHAIN_COUNT,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:1730,id:"quickUnknown6c2",description:"Quick: Unknown 0x6C2",explanation:Some("Sent by a Quick windlass alongside Chain Count (0x6C1). Its payload did not change in the one capture we have, so what it carries is not known."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:2,length:Some(8),min_length:None,fields:F_QUICK_UNKNOWN6C2,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:true},
PgnInfo{pgn:1731,id:"quickUnknown6c3",description:"Quick: Unknown 0x6C3",explanation:Some("Sent by a Quick windlass alongside Chain Count (0x6C1). Its payload did not change in the one capture we have, so what it carries is not known."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:2,length:Some(8),min_length:None,fields:F_QUICK_UNKNOWN6C3,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:true},
PgnInfo{pgn:262161,id:"actisenseOperatingMode",description:"Actisense: Operating mode",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(13),min_length:None,fields:F_ACTISENSE_OPERATING_MODE,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoMain",description:"Actisense: Product info, main",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:8,length:Some(17),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_MAIN,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoModelId",description:"Actisense: Product info, model ID",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(43),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_MODEL_ID,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoSoftwareVersion",description:"Actisense: Product info, software version",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(43),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_SOFTWARE_VERSION,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoHardwareVersion",description:"Actisense: Product info, hardware version",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(43),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_HARDWARE_VERSION,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfoSerialNumber",description:"Actisense: Product info, serial number",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(43),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO_SERIAL_NUMBER,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262209,id:"actisenseProductInfo",description:"Actisense: Product info",explanation:Some("BEM 41H, an Actisense gateway's answer to Get Product Info. Older firmware, including the NGT-1 and NGW-1, answers in five parts numbered by the SID; firmware from v2.500 on may answer in one message with SID 6. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/product-info.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:13,length:Some(149),min_length:None,fields:F_ACTISENSE_PRODUCT_INFO,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262384,id:"actisenseStartupStatus",description:"Actisense: Startup status",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:6,length:Some(17),min_length:None,fields:F_ACTISENSE_STARTUP_STATUS,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262385,id:"actisenseErrorReport",description:"Actisense: Error report",explanation:Some("BEM F1H, sent unsolicited by an Actisense gateway that hits an error; the Error ID names it. The error data that follows the Structure Variant depends on that variant and is not decoded. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/error-report.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Fields","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:6,length:Some(16),min_length:None,fields:F_ACTISENSE_ERROR_REPORT,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262386,id:"actisenseSystemStatus",description:"Actisense: System status",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Fields","FieldLengths","Resolution","Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:26,length:Some(33),min_length:None,fields:F_ACTISENSE_SYSTEM_STATUS,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262388,id:"actisenseNegativeAck",description:"Actisense: Negative Ack",explanation:Some("BEM F4H, sent by an Actisense gateway when it cannot carry out a command; the Error ID says why. See the Actisense SDK, https://github.com/Actisense/SDK/blob/main/docs/DataFormats/Binary/bem-detail/negative-ack.md."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(15),min_length:None,fields:F_ACTISENSE_NEGATIVE_ACK,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262400,id:"nmea2000GatewayNetworkStatus",description:"NMEA 2000 gateway: network status",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:6,length:Some(15),min_length:None,fields:F_NMEA2000_GATEWAY_NETWORK_STATUS,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262656,id:"canboatStartup",description:"CANboat: Startup",explanation:None,url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:3,length:Some(66),min_length:None,fields:F_CANBOAT_STARTUP,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262657,id:"canboatNmea0183Filter",description:"CANboat: NMEA 0183 filter",explanation:Some("Control channel for the NMEA 0183 sentence filter. Carried only on the server's dedicated bidirectional filter port, never on the CAN bus - it is a CANBOAT_BEM pseudo-PGN, like the rest of the 0x40000+ range."),url:None,packet_type:PacketType::Single,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:5,length:Some(8),min_length:None,fields:F_CANBOAT_NMEA0183_FILTER,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
PgnInfo{pgn:262658,id:"canboatPgnOverride",description:"CANboat: PGN transmission-interval override",explanation:Some("Control channel for per-device transmission-interval overrides. A CANBOAT_BEM pseudo-PGN (0x40000+), exchanged between a server and its clients rather than on the CAN bus."),url:None,packet_type:PacketType::Fast,complete:Some(false),fallback:None,missing:&["Interval",],priority:None,transmission_interval:None,transmission_irregular:None,field_count:6,length:Some(12),min_length:None,fields:F_CANBOAT_PGN_OVERRIDE,repeating_field_set1_size:None,repeating_field_set1_start_field:None,repeating_field_set1_count_field:None,repeating_field_set2_size:None,repeating_field_set2_start_field:None,repeating_field_set2_count_field:None,id_is_pinned:false},
];
pub static PGN_INDEX: &[(u32, &[u32])] = &[
(0,&[Idx::STANDARD_CAN_FRAME as u32,]),
(1728,&[Idx::QUICK_UNKNOWN6C0 as u32,]),
(1729,&[Idx::QUICK_CHAIN_COUNT as u32,]),
(1730,&[Idx::QUICK_UNKNOWN6C2 as u32,]),
(1731,&[Idx::QUICK_UNKNOWN6C3 as u32,]),
(262161,&[Idx::ACTISENSE_OPERATING_MODE as u32,]),
(262209,&[Idx::ACTISENSE_PRODUCT_INFO_MAIN as u32,Idx::ACTISENSE_PRODUCT_INFO_MODEL_ID as u32,Idx::ACTISENSE_PRODUCT_INFO_SOFTWARE_VERSION as u32,Idx::ACTISENSE_PRODUCT_INFO_HARDWARE_VERSION as u32,Idx::ACTISENSE_PRODUCT_INFO_SERIAL_NUMBER as u32,Idx::ACTISENSE_PRODUCT_INFO as u32,]),
(262384,&[Idx::ACTISENSE_STARTUP_STATUS as u32,]),
(262385,&[Idx::ACTISENSE_ERROR_REPORT as u32,]),
(262386,&[Idx::ACTISENSE_SYSTEM_STATUS as u32,]),
(262388,&[Idx::ACTISENSE_NEGATIVE_ACK as u32,]),
(262400,&[Idx::NMEA2000_GATEWAY_NETWORK_STATUS as u32,]),
(262656,&[Idx::CANBOAT_STARTUP as u32,]),
(262657,&[Idx::CANBOAT_NMEA0183_FILTER as u32,]),
(262658,&[Idx::CANBOAT_PGN_OVERRIDE as u32,]),
];
pub static LOOKUPS: &[LookupTable] = &[
LookupTable{name:"ACTISENSE_OPERATING_MODE",max_value:Some(65535),values:&[LookupValue{value:0,name:"Undefined",id:None},LookupValue{value:1,name:"NGT Transfer Normal Mode",id:None},LookupValue{value:2,name:"NGT Transfer Rx All Mode",id:None},LookupValue{value:3,name:"NGT Transfer Raw Mode",id:None},LookupValue{value:4,name:"NGW Convert Normal Mode",id:None},LookupValue{value:5,name:"CAN Packet Mode",id:None},LookupValue{value:6,name:"CAN Packet ASCII Mode",id:None},LookupValue{value:16,name:"Buffer Mode 1",id:None},LookupValue{value:17,name:"Buffer Mode 2",id:None},LookupValue{value:18,name:"Buffer Mode 3",id:None},LookupValue{value:19,name:"Autoswitch Direct Mode",id:None},LookupValue{value:20,name:"Autoswitch Smart Mode",id:None},LookupValue{value:21,name:"Combine Slow Mode",id:None},LookupValue{value:22,name:"Combine Fast Mode",id:None},LookupValue{value:23,name:"Test Mode 1",id:None},LookupValue{value:24,name:"NSI Mode 1",id:None},LookupValue{value:25,name:"IEC 61162-450 Mode 1",id:None},LookupValue{value:512,name:"Normal",id:None},LookupValue{value:40000,name:"Predefined Mode 1",id:None},LookupValue{value:40001,name:"Predefined Mode 2",id:None},],by_value:&[(0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(16,7),(17,8),(18,9),(19,10),(20,11),(21,12),(22,13),(23,14),(24,15),(25,16),(512,17),(40000,18),(40001,19),]},
LookupTable{name:"CERTIFICATION_LEVEL",max_value:Some(255),values:&[LookupValue{value:0,name:"Level A",id:None},LookupValue{value:1,name:"Level B",id:None},],by_value:&[(0,0),(1,1),]},
LookupTable{name:"QUICK_CHAIN_UNITS",max_value:Some(65535),values:&[LookupValue{value:2,name:"Feet",id:None},],by_value:&[(2,0),]},
];
pub static BIT_LOOKUPS: &[BitLookupTable] = &[
];
pub static INDIRECT_LOOKUPS: &[IndirectLookupTable] = &[
];
pub static FIELD_TYPE_LOOKUPS_SI: &[LookupFieldTypeTable] = &[
];
pub static FIELD_TYPE_LOOKUPS_METRIC: &[LookupFieldTypeTable] = &[
];
fn dispatch_262209(payload: &[u8]) -> Option<usize> {
    let _ = payload;
    let m_0_8_u_0 = crate::engine::bits::extract_bits(payload, 0, 8, false, 0).map(|e| e.value);
    if m_0_8_u_0 == Some(1) { return Some(Idx::ACTISENSE_PRODUCT_INFO_MAIN as usize); }
    if m_0_8_u_0 == Some(2) { return Some(Idx::ACTISENSE_PRODUCT_INFO_MODEL_ID as usize); }
    if m_0_8_u_0 == Some(3) { return Some(Idx::ACTISENSE_PRODUCT_INFO_SOFTWARE_VERSION as usize); }
    if m_0_8_u_0 == Some(4) { return Some(Idx::ACTISENSE_PRODUCT_INFO_HARDWARE_VERSION as usize); }
    if m_0_8_u_0 == Some(5) { return Some(Idx::ACTISENSE_PRODUCT_INFO_SERIAL_NUMBER as usize); }
    if m_0_8_u_0 == Some(6) { return Some(Idx::ACTISENSE_PRODUCT_INFO as usize); }
    None
}
/// Pick the right PgnInfo variant for `pgn` given the frame payload.
pub fn dispatch(pgn: u32, payload: &[u8]) -> Option<usize> {
    match pgn {
        0 => Some(Idx::STANDARD_CAN_FRAME as usize),
        1728 => Some(Idx::QUICK_UNKNOWN6C0 as usize),
        1729 => Some(Idx::QUICK_CHAIN_COUNT as usize),
        1730 => Some(Idx::QUICK_UNKNOWN6C2 as usize),
        1731 => Some(Idx::QUICK_UNKNOWN6C3 as usize),
        262161 => Some(Idx::ACTISENSE_OPERATING_MODE as usize),
        262209 => dispatch_262209(payload),
        262384 => Some(Idx::ACTISENSE_STARTUP_STATUS as usize),
        262385 => Some(Idx::ACTISENSE_ERROR_REPORT as usize),
        262386 => Some(Idx::ACTISENSE_SYSTEM_STATUS as usize),
        262388 => Some(Idx::ACTISENSE_NEGATIVE_ACK as usize),
        262400 => Some(Idx::NMEA2000_GATEWAY_NETWORK_STATUS as usize),
        262656 => Some(Idx::CANBOAT_STARTUP as usize),
        262657 => Some(Idx::CANBOAT_NMEA0183_FILTER as usize),
        262658 => Some(Idx::CANBOAT_PGN_OVERRIDE as usize),
        _ => None,
    }
}
pub static FALLBACKS: &[(u32, u32)] = &[
    (0, Idx::STANDARD_CAN_FRAME as u32),
];
/// Largest Fallback:true PgnInfo whose pgn number is <= `pgn`.
/// Mirrors canboat's `searchForUnknownPgn`.
pub fn find_catchall(pgn: u32) -> Option<usize> {
    let i = FALLBACKS.partition_point(|&(p, _)| p <= pgn);
    if i == 0 { None } else { Some(FALLBACKS[i - 1].1 as usize) }
}