 
SFireSettings Structure
This structure defines various
settings for the neoVI Fire device.
typedef
VS_MODIFIER struct
_SFireSettings
{
    CAN_SETTINGS can1;   
    CAN_SETTINGS can2;
    CAN_SETTINGS can3;
    CAN_SETTINGS can4;
    SWCAN_SETTINGS 
swcan;    
    CAN_SETTINGS lsftcan;
    LIN_SETTINGS
 lin1;      
    LIN_SETTINGS lin2;
    LIN_SETTINGS
 lin3;
    LIN_SETTINGS
 lin4;
    icscm_uint16 
cgi_enable_reserved;
    icscm_uint16 cgi_baud;
    icscm_uint16 cgi_tx_ifs_bit_times;
    icscm_uint16 cgi_rx_ifs_bit_times;
    icscm_uint16 cgi_chksum_enable;
    icscm_uint16 network_enables;
    icscm_uint16 network_enabled_on_boot;
    icscm_uint16 pwm_man_timeout;
    icscm_uint16 pwr_man_enable;
    icscm_uint16 misc_io_initial_ddr;
    icscm_uint16 misc_io_initial_latch;
    icscm_uint16 misc_io_analog_enable;
    icscm_uint16 misc_io_report_period;
    icscm_uint16 misc_io_on_report_events;
    icscm_uint16 ain_sample_period;
    icscm_uint16 ain_threshold;
    icscm_uint16 iso15765_separation_time_offset;
    icscm_uint16 iso9141_kwp_enable_reserved;
    ISO9141_KW2000SETTINGS iso9141_kwp_settings;
    icscm_uint16 perf_en;
    icscm_uint16 iso_parity;
    icscm_uint16 iso_msg_termination;
    icscm_uint16 iso_tester_pullup_enable;
    icscm_uint16
 network_enables_2;
      
ISO9141_KW2000SETTINGS
 iso9141_kwp_settings2;
    
icscm_uint16
iso_parity_2; 
    
icscm_uint16
iso_msg_termination_2;
      
ISO9141_KW2000SETTINGS
 iso9141_kwp_settings_3;
    icscm_uint16
iso_parity_3; 
    icscm_uint16
iso_msg_termination_3; 
    
ISO9141_KW2000SETTINGS
 iso9141_kwp_settings_4;
    icscm_uint16
iso_parity_4; 
    icscm_uint16
iso_msg_termination_4; 
    icscm_uint16 
fast_init_network_enables_1;
    icscm_uint16
fast_init_network_enables_2;
    UART_SETTINGS uart;
    UART_SETTINGS uart2;
    STextAPISettings text_api;
}SFireSettings; 
Visual Basic .NET Declares
<StructLayout(LayoutKind.Sequential, Pack:=2)> 
 Public
Structure 
SFireSettings
    
Dim 
can1 As
CAN_SETTINGS
    Dim 
can2 As
CAN_SETTINGS
    Dim 
can3 As
CAN_SETTINGS
    Dim 
can4 As
CAN_SETTINGS
    Dim 
swcan As
SWCAN_SETTINGS 
    Dim 
lsftcan As
CAN_SETTINGS
    Dim 
lin1 As
LIN_SETTINGS
    Dim 
lin2 As
LIN_SETTINGS
    Dim 
lin3 As
LIN_SETTINGS
    Dim 
lin4 As
LIN_SETTINGS
    Dim 
cgi_enable_reserved As 
UInt16
    Dim 
cgi_baud As 
UInt16
    Dim 
cgi_tx_ifs_bit_times As 
UInt16
    Dim 
cgi_rx_ifs_bit_times As 
UInt16
    Dim 
cgi_chksum_enable As 
UInt16
    Dim 
network_enables As 
UInt16
    Dim 
network_enabled_on_boot 
As UInt16
    Dim 
pwm_man_timeout As 
UInt16
    Dim 
pwr_man_enable As 
UInt16
    Dim 
misc_io_initial_ddr As 
UInt16
    Dim 
misc_io_initial_latch 
As UInt16
    Dim 
misc_io_analog_enable 
As UInt16
    Dim 
misc_io_report_period 
As UInt16
    Dim 
misc_io_on_report_events 
As UInt16
    Dim 
ain_sample_period As 
UInt16
    Dim 
ain_threshold As 
UInt16
    Dim 
iso15765_separation_time_offset 
As UInt16
    Dim 
iso9141_kwp_enable_reserved As 
UInt16
    iso9141_kwp_settings As
 
ISO9141_KEYWORD2000_SETTINGS
    Dim 
perf_en As 
UInt16
    Dim 
iso_parity As 
UInt16
    Dim 
iso_msg_termination As 
UInt16
    Dim 
iso_tester_pullup_enable 
As UInt16
    Dim 
network_enables_2 As 
UInt16
    Dim 
iso9141_kwp_settings2 
As  
ISO9141_KEYWORD2000_SETTINGS
    Dim 
iso_parity_2 As 
UInt16
    Dim 
iso_msg_termination_2 
As UInt16
    Dim 
iso9141_kwp_settings_3 
As  
ISO9141_KEYWORD2000_SETTINGS
    Dim 
iso_parity_3 As 
UInt16
    Dim 
iso_msg_termination_3 
As UInt16
    Dim 
iso9141_kwp_settings_4 
As  
ISO9141_KEYWORD2000_SETTINGS
    Dim 
iso_parity_4 As 
UInt16
    Dim 
iso_msg_termination_4 
As 
 UInt16
    Dim fast_init_network_enables_1
As UInt16
    Dim fast_init_network_enables_2
As UInt16
    Dim 
uart 
As UART_SETTINGS
    Dim 
uart2 
As UART_SETTINGS
    Dim text_api
As STextAPISettings
End 
Structure
C# Declares
[StructLayout(LayoutKind.Sequential,Pack=2)]
public 
struct SFireSettings
{
    public
CAN_SETTINGS can1;
    public
CAN_SETTINGS can2;
    public
CAN_SETTINGS can3;
    public
CAN_SETTINGS can4;
    public
SWCAN_SETTINGS 
swcan;
    public
CAN_SETTINGS
lsftcan;
    public
LIN_SETTINGS
 
lin1;
    public
LIN_SETTINGS
 
lin2;
    public
LIN_SETTINGS
 
lin3;
    public
LIN_SETTINGS
 
lin4;
    public 
UInt16 cgi_enable_reserved;
    public 
UInt16 cgi_baud;
    public 
UInt16 cgi_tx_ifs_bit_times;
    public 
UInt16 cgi_rx_ifs_bit_times;
    public 
UInt16 cgi_chksum_enable;
    public 
UInt16 network_enables;
    public 
UInt16 network_enabled_on_boot;
    public 
UInt16 pwm_man_timeout;
    public 
UInt16 pwr_man_enable;
    public 
UInt16 misc_io_initial_ddr;
    public 
UInt16 misc_io_initial_latch;
    public 
UInt16 misc_io_analog_enable;
    public 
UInt16 misc_io_report_period;
    public 
UInt16 misc_io_on_report_events;
    public 
UInt16 ain_sample_period;
    public 
UInt16 ain_threshold;
    public 
UInt16 iso15765_separation_time_offset;
    public 
UInt16 iso9141_kwp_enable_reserved;
    public
 
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings;
    public 
UInt16 perf_en;
    public 
UInt16 iso_parity;
    public 
UInt16 iso_msg_termination;
    public 
UInt16 iso_tester_pullup_enable;
    public 
UInt16 network_enables_2;
    public
 
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings2;
    public 
UInt16 iso_parity_2;
    public 
UInt16 iso_msg_termination_2;
    public
 
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings3;
    public 
UInt16 iso_parity_3;
    public 
UInt16 iso_msg_termination_3;
    public
 
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_4;
    public 
UInt16 iso_parity_4;
    public 
UInt16 iso_msg_termination_4; 
     public 
 
UInt16 fast_init_network_enables_1;
     public 
 
UInt16 fast_init_network_enables_2;
     public 
UART_SETTINGS 
uart;
     public 
UART_SETTINGS 
uart2;
     public 
STextAPISettings text_api;
}
Structure Elements
| Item | Description | ||||||||||||||||
| CAN_SETTINGS can1 | See CAN_SETTINGS structure | ||||||||||||||||
| CAN_SETTINGS can2 | See CAN_SETTINGS structure | ||||||||||||||||
| CAN_SETTINGS can3 | See CAN_SETTINGS structure | ||||||||||||||||
| CAN_SETTINGS can4 | See CAN_SETTINGS structure | ||||||||||||||||
| SWCAN_SETTINGS swcan | See SWCAN_SETTINGS structure | ||||||||||||||||
| CAN_SETTINGS lsftcan | See CAN_SETTINGS structure | ||||||||||||||||
| LIN_SETTING lin1 | See LIN_SETTINGS structure | ||||||||||||||||
| LIN_SETTINGlin2 | See LIN_SETTINGS structure | ||||||||||||||||
| LIN_SETTING lin3 | See LIN_SETTINGS structure | ||||||||||||||||
| LIN_SETTING lin4 | See LIN_SETTINGS structure | ||||||||||||||||
| icscm_uint16 cgi_enable_reserved | Deprecated. Enable and disable CGI using the network_enables element. | ||||||||||||||||
| icscm_uint16 cgi_baud | CGI network baud rate: 625 = 625,000kb 115 = 115,200kb | ||||||||||||||||
| icscm_uint16 cgi_tx_ifs_bit_times | CGI network - Number of bits separating transmit frames. neoVI will ensure this number of idle bit times in between successive transmitted frames. Valid values (1-65535). Default value = 13 | ||||||||||||||||
| icscm_uint16 cgi_rx_ifs_bit_times | CGI
      network - Number of bits separating received frames. neoVI identifies the end of a rx frame when there is no CGI bus activity for this given number of bit times. Valid values (1-65535). Default value = 13 | ||||||||||||||||
| icscm_uint16 cgi_chksum_enable | If enabled neoVI will append a 16 bit checksum to all transmitted frames.
      1 to enable, 0 to disable. Default value = 1 | ||||||||||||||||
| icscm_uint16 network_enables | Bitfield
      containing the software license enables. Depending on the hardware license
      purchased the customer may have to conditionally select which hardware
      channels to enable. For example the neoVI Red license allows the user to
      enable any 2 Dual Wire CAN channels and any 2 LIN channels. To enable a
      specific network its corresponding bit must be set (1). In order to
      transmit or receive on a network it must be enabled. Bit field values: 
 Examples: | ||||||||||||||||
| icscm_uint16 network_enabled_on_boot | Normally neoVI only initiates its comm channels when CoreMini is running or if neoVI is online with DLL/Vehicle Spy 3.  Practically this means the the CAN controllers stay in Listen Only mode until the device goes online.  Once online the neoVI loads the user settings.  Setting this parameter to 1 will change this behavior so that the neoVI enables its controllers immediately on boot. Default value = 0 | ||||||||||||||||
| icscm_uint16 pwm_man_timeout | Number of milliseconds of no bus activity required before neoVI enters low power mode.  Note pwr_man_enable must be set for power management to be enabled. Default value = 10000 | ||||||||||||||||
| icscm_uint16 pwr_man_enable | 1 = enable Power Management, 0
      = disable. Default value = 0 | ||||||||||||||||
| icscm_uint16 misc_io_initial_ddr | MISC IO Initial Data Direction Register.  Controls the initial data direction of the tri-states on all misc digital pins.  Each bit corresponds to an individual misc pin.  Bit value of 0 signifies an input and bit value 1 signifies and output.  Bit values corresponding to non existent pins (EX MISC7-MISC15 on FIRE) have no effect. Default value = 0 Examples: Set MISC1 to be output, all else input: misc_io_initial_ddr = 1 Set MISC1and MISC2 to be output, all else input: misc_io_initial_ddr = 3 (11 binary) Set all MISC pins to output: misc_io_initial_ddr = 65535 (1111111111111111 binary) | ||||||||||||||||
| icscm_uint16 misc_io_initial_latch | MISC IO Initial Latch Register.  Controls the initial output latch value on all misc digital pins.  Each bit corresponds to an individual misc pin.  Bit value of 0 signifies an low voltage (ground) and bit value 1 signifies high voltage (3.3 V).  Bit values corresponding to non existent pins (EX MISC7-MISC15 on FIRE) have no
      effect. Default value = 0 Examples: Set MISC1 to be high, all else low: misc_io_initial_latch = 1 Set MISC1and MISC2 to be high, all else low: misc_io_initial_latch = 3 (11 binary) Set all MISC pins to high: misc_io_initial_latch = 65535 (1111111111111111 binary) Note: In order for digital outputs to work correctly the corresponding bit in misc_io_initial_ddr must be set to output and corresponding bit in misc_io_analog_enable must be cleared. | ||||||||||||||||
| icscm_uint16 misc_io_analog_enable | MISC IO Analog Enable Register.  Controls the initial analog enables on all misc analog pins.  Each bit corresponds to an individual misc pin that supports analog input.  Bit value of 0 signifies that corresponding misc pin is digital only, and bit value 1 signifies corresponding misc pin is analog.  Note that because some MISC pins are not capable of analog they are not included in the register.  For example neoVI FIRE's analog pins are MISC3-MISC6, therefore bit 0 corresponds to MISC3's analog enable.  Bit values corresponding to non existent pins have no
      effect. Default value = 0 Examples: Set MISC3 to be analog, all else digital. (neoVI FIRE) : misc_io_analog_enable = 1 Set MISC3 and MISC4 to be analog, all else digital. (neoVI FIRE): misc_io_analog_enable = 3 (11 binary) Set all MISC pins to high: misc_io_analog_enable = 65535 (1111111111111111 binary) Note: that in order for analog inputs to work correctly the corresponding bit in misc_io_analog_enable must be set to 1. | ||||||||||||||||
| icscm_uint16 misc_io_report_period | Period in milliseconds of device report message holding digital and analog data. Default value = 100 Note: Periodic reporting requires misc_io_on_report_events[0] to be set. | ||||||||||||||||
| icscm_uint16 misc_io_on_report_events | Bitfield holding enables for various report triggers for the General IO
      report. Default value = 0 Bit field values: 
 
 | ||||||||||||||||
| icscm_uint16 ain_sample_period | Controls how long the Analog to Digital Converter samples before preforming a convert in milliseconds.  If it is set to zero the hardware will perform the conversion 
	immediately after sampling.  This option defaults to 0 but is accessible so that high 
	impedance analog sources can still be used by manually increasing the sample
      period. Default value = 0 | ||||||||||||||||
| icscm_uint16 ain_threshold | Percent of full voltage change required to trigger a REPORT_ON_MISCX_AIN event.  Valid range is 0-100. Default value = 0 Examples: Report fires every time ADC value changes: ain_threshold = 0 Report fires every time ADC value changes by 33 mV: ain_threshold = 1 Report fires every time ADC value changes by 66 mV: ain_threshold = 2 Report fires every time ADC value changes by 3.3 V (Unpractical): ain_threshold = 100 Note: Periodic reporting requires proper misc_io_on_report_events bit to be set. | ||||||||||||||||
| icscm_uint16 iso15765_separation_time_offset | In an ISO15765-2 Transmission, the receiver transmits a flow control message that informs that transmitter how much time there should be between individual CAN messages. This parameter allows the user to shift that spacing to make it smaller or larger.  Valid range is -1563 to 1563 units where each unit represents 6.4us. Defaults to 0. If IFS plus the offset is negative than the Tx Messages will be back to back. Default value = 0 Examples: ISO15765-2 Tx Message Inner frame spacing is exactly what is specified in flow control message: iso15765_separation_time_offset = 0 ISO15765-2 Tx Message Inner frame spacing is what's specified in flow control message.+ 998.4 us: iso15765_separation_time_offset = 156 ISO15765-2 Tx Message Inner frame spacing is what's specified in flow control message.- 998.4 us: iso15765_separation_time_offset = -156 | ||||||||||||||||
| icscm_uint16 network_enables_2 | Bitfield
      containing the software license enables. Depending on the hardware license
      purchased the customer may have to conditionally select which hardware
      channels to enable. For example the neoVI Red license allows the user to
      enable any 2 Dual Wire CAN channels and any 2 LIN channels. To enable a
      specific network its corresponding bit must be set (1). In order to
      transmit or receive on a network it must be enabled. Bit field values: 
 | ||||||||||||||||
| ISO9141_KW2000SETTINGS iso9141_kwp_settings | See ISO9141_KW2000SETTINGS structure | ||||||||||||||||
| icscm_uint16 iso_parity; | ISO9141 Parity setting: 0 - no parity, 1 - even, 2 - odd | ||||||||||||||||
| icscm_uint16 iso_msg_termination; | ISO9141
      message termination setting: 0 - use inner frame time 1 - GME CIM-SCL | ||||||||||||||||
| icscm_uint16 iso_tester_pullup_enable; | enables the 510 ohm pull-up resistor on K Line | ||||||||||||||||
| icscm_uint16 network_enables_2; | |||||||||||||||||
| ISO9141_KW2000SETTINGS iso9141_kwp_settings2; | See ISO9141_KW2000SETTINGS structure | ||||||||||||||||
| icscm_uint16 iso_parity_2; | ISO9141 Parity setting: 0 - no parity, 1 - even, 2 - odd | ||||||||||||||||
| icscm_uint16 iso_msg_termination_2; | ISO9141
      message termination setting: 0 - use inner frame time 1 - GME CIM-SCL | ||||||||||||||||
| ISO9141_KW2000SETTINGS iso9141_kwp_settings_3; | See ISO9141_KW2000SETTINGS structure | ||||||||||||||||
| icscm_uint16 iso_parity_3; | ISO9141 Parity setting: 0 - no parity, 1 - even, 2 - odd | ||||||||||||||||
| icscm_uint16 iso_msg_termination_3; | ISO9141
      message termination setting: 0 - use inner frame time 1 - GME CIM-SCL | ||||||||||||||||
| ISO9141_KW2000SETTINGS iso9141_kwp_settings_4; | See ISO9141_KW2000SETTINGS structure | ||||||||||||||||
| icscm_uint16 iso_parity_4; | ISO9141 Parity setting: 0 - no parity, 1 - even, 2 - odd | ||||||||||||||||
| icscm_uint16 iso_msg_termination_4; | ISO9141
      message termination setting: 0 - use inner frame time 1 - GME CIM-SCL | ||||||||||||||||
| icscm_uint16 fast_init_network_enables; | Bitfield containing the channels to fast wakeup on.  
		Currently only HS and MS CAN are supported 
 Power management must be enabled for this feature to work. | ||||||||||||||||
| UART_SETTINGS UART; | See UART_SETTINGS structure | ||||||||||||||||
| STextAPISettings Text_API; | See STextAPISettings structure | 
| IntrepidCS API Documentation - (C) Copyright 2000-2022 Intrepid Control Systems, Inc. (www.intrepidcs.com) | 
Last Updated : Monday, April 13, 2020