SFireSettings Structure

This structure defines various settings for the neoVI Fire device.

C/C++ Declare

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;
}


Remarks

 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:
HSCAN1 : 0 HSCAN3 : 8
MSCAN  : 1 CGI : 9
LIN1 : 2 NA : 10
LIN2 : 3 LIN3 : 11
reserved : 4 LIN4 : 12
HSCAN2 : 5 NA : 13
LSFT : 6 NA : 14
SW_CAN : 7 NA : 15

Examples:

Enable HSCAN1 and HSCAN2:  network_enables = 33 (21 hex) (0000000000100001 binary)

Enable all networks: network_enables = 65535 (FFFF hex) (1111111111111111 binary)

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:
REPORT_ON_PERIODIC : 0 REPORT_ON_LED2 : 8
REPORT_ON_MISC1 : 1 REPORT_ON_KLINE : 9
REPORT_ON_MISC2 : 2 REPORT_ON_MISC3_AIN : 10
REPORT_ON_MISC3 : 3 REPORT_ON_MISC4_AIN : 11
REPORT_ON_MISC4 : 4 REPORT_ON_MISC5_AIN : 12
REPORT_ON_MISC5 : 5 REPORT_ON_MISC6_AIN : 13
REPORT_ON_MISC6 : 6  
REPORT_ON_LED1 : 7  


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:
KLINE1 : 0 Reserved : 4
KLINE2  : 1 Reserved : 5
KLIN3 : 2 Reserved : 6
LIN2 : 3  
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
HSCAN1 : 0 MSCAN : 1

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