C++ API
-
enum class icsneo::Command : uint8_t
Values:
-
enumerator EnableNetworkCommunication
-
enumerator EnableNetworkCommunicationEx
-
enumerator KeepAlive
-
enumerator NeoReadMemory
-
enumerator NeoWriteMemory
-
enumerator ClearCoreMini
-
enumerator LoadCoreMini
-
enumerator GetRTC
-
enumerator SetRTC
-
enumerator RequestSerialNumber
-
enumerator GetMainVersion
-
enumerator SetSettings
-
enumerator SaveSettings
-
enumerator UpdateLEDState
-
enumerator SetDefaultSettings
-
enumerator GetSecondaryVersions
-
enumerator GetHardwareInfo
-
enumerator GetLogicalDiskInfo
-
enumerator RequestStatusUpdate
-
enumerator ReadSettings
-
enumerator SetVBattMonitor
-
enumerator RequestBitSmash
-
enumerator WiVICommand
-
enumerator GetVBattReq
-
enumerator ScriptStatus
-
enumerator MiscControl
-
enumerator NeoEraseMemory
-
enumerator Extended
-
enumerator ExtendedData
-
enumerator FlexRayControl
-
enumerator CoreMiniPreload
-
enumerator PHYControlRegisters
-
enumerator EnableLogData
-
enumerator EnableNetworkCommunication
-
enum class icsneo::ExtendedCommand : uint16_t
Values:
-
enumerator GenericReturn
-
enumerator GetDiskDetails
-
enumerator DiskFormatStart
-
enumerator DiskFormatCancel
-
enumerator DiskFormatProgress
-
enumerator DiskFormatUpdate
-
enumerator Extract
-
enumerator StartDHCPServer
-
enumerator StopDHCPServer
-
enumerator GetSupportedFeatures
-
enumerator GetGPTPStatus
-
enumerator GetComponentVersions
-
enumerator SoftwareUpdate
-
enumerator Reboot
-
enumerator SetRootFSEntryFlags
-
enumerator TransmitCoreminiMessage
-
enumerator GenericBinaryInfo
-
enumerator LiveData
-
enumerator RequestTC10Wake
-
enumerator RequestTC10Sleep
-
enumerator GetTC10Status
-
enumerator ProtobufAPI
-
enumerator TransmitMessage
-
enumerator GenericReturn
-
enum class icsneo::ExtendedResponse : int32_t
Values:
-
enumerator OK
-
enumerator InvalidCommand
-
enumerator InvalidState
-
enumerator OperationFailed
-
enumerator OperationPending
-
enumerator InvalidParameter
-
enumerator OK
-
enum class icsneo::ExtendedDataSubCommand : uint32_t
Values:
-
enumerator GenericBinaryRead
-
enumerator GenericBinaryWrite
-
enumerator GenericBinaryRead
-
enum class icsneo::IO
Values:
-
enumerator EthernetActivation
-
enumerator USBHostPower
-
enumerator BackupPowerEnabled
-
enumerator BackupPowerGood
-
enumerator Misc
-
enumerator EMisc
-
enumerator EthernetActivation
-
enum class icsneo::LiveDataCommand : uint32_t
Values:
-
enumerator STATUS
-
enumerator SUBSCRIBE
-
enumerator UNSUBSCRIBE
-
enumerator RESPONSE
-
enumerator CLEAR_ALL
-
enumerator SET_VALUE
-
enumerator STATUS
-
enum class icsneo::LiveDataStatus : uint32_t
Values:
-
enumerator SUCCESS
-
enumerator ERR_UNKNOWN_COMMAND
-
enumerator ERR_HANDLE
-
enumerator ERR_DUPLICATE
-
enumerator ERR_FULL
-
enumerator SUCCESS
-
enum class icsneo::LiveDataValueType : uint32_t
Values:
-
enumerator GPS_LATITUDE
-
enumerator GPS_LONGITUDE
-
enumerator GPS_ALTITUDE
-
enumerator GPS_SPEED
-
enumerator GPS_VALID
-
enumerator GPS_ENABLE
-
enumerator MANUAL_TRIGGER
-
enumerator TIME_SINCE_MSG
-
enumerator GPS_ACCURACY
-
enumerator GPS_BEARING
-
enumerator GPS_TIME
-
enumerator GPS_TIME_VALID
-
enumerator DAQ_ENABLE
-
enumerator GPS_LATITUDE
-
enum class icsneo::AppErrorType : uint16_t
Values:
-
enumerator AppErrorRxMessagesFull
-
enumerator AppErrorTxMessagesFull
-
enumerator AppErrorTxReportMessagesFull
-
enumerator AppErrorBadCommWithDspIC
-
enumerator AppErrorDriverOverflow
-
enumerator AppErrorPCBuffOverflow
-
enumerator AppErrorPCChksumError
-
enumerator AppErrorPCMissedByte
-
enumerator AppErrorPCOverrunError
-
enumerator AppErrorSettingFailure
-
enumerator AppErrorTooManySelectedNetworks
-
enumerator AppErrorNetworkNotEnabled
-
enumerator AppErrorRtcNotCorrect
-
enumerator AppErrorLoadedDefaultSettings
-
enumerator AppErrorFeatureNotUnlocked
-
enumerator AppErrorFeatureRtcCmdDropped
-
enumerator AppErrorTxMessagesFlushed
-
enumerator AppErrorTxMessagesHalfFull
-
enumerator AppErrorNetworkNotValid
-
enumerator AppErrorTxInterfaceNotImplemented
-
enumerator AppErrorTxMessagesCommEnableIsOff
-
enumerator AppErrorRxFilterMatchCountExceeded
-
enumerator AppErrorEthPreemptionNotEnabled
-
enumerator AppErrorTxNotSupportedInMode
-
enumerator AppErrorJumboFramesNotSupported
-
enumerator AppErrorEthernetIpFragment
-
enumerator AppErrorTxMessagesUnderrun
-
enumerator AppErrorDeviceFanFailure
-
enumerator AppErrorDeviceOvertemperature
-
enumerator AppErrorTxMessageIndexOutOfRange
-
enumerator AppErrorUndersizedFrameDropped
-
enumerator AppErrorOversizedFrameDropped
-
enumerator AppErrorWatchdogEvent
-
enumerator AppErrorSystemClockFailure
-
enumerator AppErrorSystemClockRecovered
-
enumerator AppErrorSystemPeripheralReset
-
enumerator AppErrorSystemCommunicationFailure
-
enumerator AppErrorTxMessagesUnsupportedSourceOrPacketId
-
enumerator AppErrorWbmsManagerConnectFailed
-
enumerator AppErrorWbmsManagerConnectBadState
-
enumerator AppErrorWbmsManagerConnectTimeout
-
enumerator AppErrorFailedToInitializeLoggerDisk
-
enumerator AppErrorInvalidSetting
-
enumerator AppErrorSystemFailureRequestedReset
-
enumerator AppErrorPortKeyMistmatch
-
enumerator AppErrorBusFailure
-
enumerator AppErrorTapOverflow
-
enumerator AppErrorEthTxNoLink
-
enumerator AppErrorErrorBufferOverflow
-
enumerator AppNoError
-
enumerator AppErrorRxMessagesFull
-
enum class icsneo::CANErrorCode : icsneoc2_can_error_code_t
Values:
-
enumerator NoError
-
enumerator StuffError
-
enumerator FormError
-
enumerator AckError
-
enumerator Bit1Error
-
enumerator Bit0Error
-
enumerator CRCError
-
enumerator NoChange
-
enumerator NoError
-
enum class icsneo::NetworkMutexType : uint8_t
Values:
-
enumerator TxExclusive
-
enumerator ExternalExclusive
-
enumerator FullyExclusive
-
enumerator TxExclusive
-
enum class icsneo::NetworkMutexEvent : uint8_t
Values:
-
enumerator Released
-
enumerator Expired
-
enumerator Preempted
-
enumerator Queued
-
enumerator Acquired
-
enumerator Released
-
enum class icsneo::SupportedFeature : uint16_t
Values:
-
enumerator networkDWCAN01
-
enumerator networkDWCAN02
-
enumerator networkDWCAN03
-
enumerator networkDWCAN04
-
enumerator networkDWCAN05
-
enumerator networkDWCAN06
-
enumerator networkDWCAN07
-
enumerator networkDWCAN08
-
enumerator networkTerminationDWCAN01
-
enumerator networkTerminationDWCAN02
-
enumerator networkTerminationDWCAN03
-
enumerator networkTerminationDWCAN04
-
enumerator networkTerminationDWCAN05
-
enumerator networkTerminationDWCAN06
-
enumerator networkTerminationDWCAN07
-
enumerator networkTerminationDWCAN08
-
enumerator enhancedFlashDriver
-
enumerator rtcCalibration
-
enumerator rtcClosedLoopCalibration
-
enumerator numSupportedFeatures
-
enumerator networkDWCAN01
-
enum class icsneo::TC10WakeStatus : icsneoc2_tc10_wake_status_t
Values:
-
enumerator NoWakeReceived
-
enumerator WakeReceived
-
enumerator NoWakeReceived
-
enum class icsneo::TC10SleepStatus : icsneoc2_tc10_sleep_status_t
Values:
-
enumerator NoSleepReceived
-
enumerator SleepReceived
-
enumerator SleepFailed
-
enumerator SleepAborted
-
enumerator NoSleepReceived
-
enum class icsneo::MACsecPacketType : uint8_t
Values:
-
enumerator Default
-
enumerator SingleVLAN
-
enumerator DualVLAN
-
enumerator MPLS
-
enumerator SingleVLANFollowedByMPLS
-
enumerator DualVLANFollowedByMPLS
-
enumerator Unsupported
-
enumerator Default
-
enum class icsneo::MACsecValidation : uint8_t
Values:
-
enumerator Disabled
Disable validation
-
enumerator Check
Enable validation, do not discard invalid frames
-
enumerator Strict
Enable validation and discard invalid frames
-
enumerator NA
No processing or accounting
-
enumerator Disabled
-
enum class icsneo::MACsecStrip : uint8_t
Values:
-
enumerator StripSecTagAndIcv
Strip both SecTag and ICV from packet
-
enumerator StripSecTagPreserveICV
-
enumerator PreserveSecTagStripICV
Preserve SecTag, Strip ICV
-
enumerator NoStrip
Preserve both SecTag and ICV
-
enumerator StripSecTagAndIcv
-
enum class icsneo::MACsecCipherSuite : uint8_t
Values:
-
enumerator GcmAes128
-
enumerator GcmAes256
-
enumerator GcmAes128Xpn
-
enumerator GcmAes256Xpn
-
enumerator GcmAes128
-
enum class icsneo::BootloaderCommunication
Values:
-
enumerator RAD
-
enumerator RED
-
enumerator REDCore
-
enumerator RADGalaxy2Peripheral
-
enumerator RADMultiChip
-
enumerator Application
-
enumerator Invalid
-
enumerator RAD
-
enum class icsneo::ChipID : uint8_t
Values:
-
enumerator neoVIFIRE_MCHIP
-
enumerator neoVIFIRE_LCHIP
-
enumerator neoVIFIRE_UCHIP
-
enumerator neoVIFIRE_JCHIP
-
enumerator ValueCAN3_MCHIP
-
enumerator neoVIECU_MPIC
-
enumerator neoVIIEVB_MPIC
-
enumerator neoVIPENDANT_MPIC
-
enumerator neoVIFIRE_VNET_MCHIP
-
enumerator neoVIFIRE_VNET_LCHIP
-
enumerator neoVIPLASMA_Core
-
enumerator neoVIPLASMA_HID
-
enumerator neoVIANALOG_MPIC
-
enumerator neoVIPLASMA_ANALOG_Core
-
enumerator neoVIPLASMA_FlexRay_Core
-
enumerator neoVIPLASMA_Core_1_12
-
enumerator neoVIFIRE_Slave_VNET_MCHIP
-
enumerator neoVIFIRE_Slave_VNET_LCHIP
-
enumerator neoVIION_Core
-
enumerator neoVIION_HID
-
enumerator neoVIION_Core_Loader
-
enumerator neoVIION_HID_Loader
-
enumerator neoVIION_FPGA_BIT
-
enumerator neoVIFIRE_VNET_EP_MCHIP
-
enumerator neoVIFIRE_VNET_EP_LCHIP
-
enumerator neoVIAnalogOut_MCHIP
-
enumerator neoVIMOST25_MCHIP
-
enumerator neoVIMOST50_MCHIP
-
enumerator neoVIMOST150_MCHIP
-
enumerator ValueCAN4_4_MCHIP
-
enumerator ValueCAN4_4_SCHIP
-
enumerator cmProbe_ZYNQ
-
enumerator EEVB_STM32
-
enumerator neoVIFIRE_Slave_VNET_EP_MCHIP
-
enumerator neoVIFIRE_Slave_VNET_EP_LCHIP
-
enumerator RADStar_MCHIP
-
enumerator ValueCANrf_MCHIP
-
enumerator neoVIFIRE2_MCHIP
-
enumerator neoVIFIRE2_CCHIP
-
enumerator neoVIFIRE2_Core
-
enumerator neoVIFIRE2_BLECHIP
-
enumerator neoVIFIRE2_ZYNQ
-
enumerator neoVIFIRE2_SECURITYCHIP
-
enumerator RADGalaxy_ZYNQ
-
enumerator neoVIFIRE2_VNET_MCHIP
-
enumerator neoVIFIRE2_Slave_VNET_A_MCHIP
-
enumerator neoVIFIRE2_Slave_VNET_A_CCHIP
-
enumerator neoVIFIRE2_VNET_CCHIP
-
enumerator neoVIFIRE2_VNET_Core
-
enumerator RADStar2_ZYNQ
-
enumerator VividCAN_MCHIP
-
enumerator neoOBD2SIM_MCHIP
-
enumerator neoVIFIRE2_VNETZ_MCHIP
-
enumerator neoVIFIRE2_VNETZ_ZYNQ
-
enumerator neoVIFIRE2_Slave_VNETZ_A_MCHIP
-
enumerator neoVIFIRE2_Slave_VNETZ_A_ZYNQ
-
enumerator VividCAN_EXT_FLASH
-
enumerator VividCAN_NRF52
-
enumerator cmProbe_ZYNQ_Unused
-
enumerator neoOBD2PRO_MCHIP
-
enumerator ValueCAN4_1_MCHIP
-
enumerator ValueCAN4_2_MCHIP
-
enumerator ValueCAN4_4_2EL_Core
-
enumerator neoOBD2PRO_SCHIP
-
enumerator ValueCAN4_2EL_MCHIP
-
enumerator neoECUAVBTSN_MCHIP
-
enumerator neoOBD2PRO_Core
-
enumerator RADSupermoon_ZYNQ
-
enumerator RADMoon2_ZYNQ
-
enumerator VividCANPRO_MCHIP
-
enumerator VividCANPRO_EXT_FLASH
-
enumerator RADPluto_MCHIP
-
enumerator RADMars_ZYNQ
-
enumerator neoECU12_MCHIP
-
enumerator RADIOCANHUB_MCHIP
-
enumerator FlexRay_VNETZ_ZCHIP
-
enumerator neoOBD2_LCBADGE_MCHIP
-
enumerator neoOBD2_LCBADGE_SCHIP
-
enumerator RADMoonDuo_MCHIP
-
enumerator neoVIFIRE3_ZCHIP
-
enumerator FlexRay_VNETZ_FCHIP
-
enumerator RADJupiter_MCHIP
-
enumerator ValueCAN4Industrial_MCHIP
-
enumerator EtherBADGE_MCHIP
-
enumerator RADMars_3_ZYNQ
-
enumerator RADGigastar_USBZ_ZYNQ
-
enumerator RADGigastar_ZYNQ
-
enumerator RAD4G_MCHIP
-
enumerator neoVIFIRE3_SCHIP
-
enumerator RADEpsilon_MCHIP
-
enumerator RADA2B_ZCHIP
-
enumerator neoOBD2Dev_MCHIP
-
enumerator neoOBD2Dev_SCHIP
-
enumerator neoOBD2SIMDoIP_MCHIP
-
enumerator SFPModule_88q2112_MCHIP
-
enumerator RADEpsilonT_MCHIP
-
enumerator RADEpsilonExpress_MCHIP
-
enumerator RADProxima_MCHIP
-
enumerator NewDevice57_ZCHIP
-
enumerator RAD_GALAXY_2_ZMPCHIP_ID
-
enumerator NewDevice59_MCHIP
-
enumerator RADMoon2_Z7010_ZYNQ
-
enumerator neoVIFIRE2_Core_SG4
-
enumerator RADBMS_MCHIP
-
enumerator RADMoon2_ZL_MCHIP
-
enumerator RADGigastar_USBZ_Z7010_ZYNQ
-
enumerator neoVIFIRE3_LINUX
-
enumerator RADGigastar_USBZ_Z7007S_ZYNQ
-
enumerator VEM_01_8DW_ZCHIP
-
enumerator RADGalaxy_FFG_Zynq
-
enumerator RADMoon3_MCHIP
-
enumerator RADComet_ZYNQ
-
enumerator VEM_02_FR_ZCHIP
-
enumerator RADA2B_REVB_ZCHIP
-
enumerator RADGigastar_FFG_ZYNQ
-
enumerator VEM_02_FR_FCHIP
-
enumerator Connect_ZCHIP
-
enumerator SFPModule_88q2221_MCHIP
-
enumerator RADGALAXY2_SYSMON_CHIP
-
enumerator SFPModule_88q3244_MCHIP
-
enumerator RADCOMET3_ZCHIP
-
enumerator Connect_LINUX
-
enumerator SFPModule_lan8670_MCHIP
-
enumerator VEM_04_T1S_LIN_ZCHIP
-
enumerator RADMOONT1S_ZCHIP
-
enumerator RADGigastar2_ZYNQ
-
enumerator SFPModule_ent11100_MCHIP
-
enumerator RADGemini_MCHIP
-
enumerator Invalid
-
enumerator neoVIFIRE_MCHIP
-
enum class icsneo::MiscIOAnalogVoltage : uint8_t
Values:
-
enumerator V0
-
enumerator V1
-
enumerator V2
-
enumerator V3
-
enumerator V4
-
enumerator V5
-
enumerator V0
-
enum icsneo::RadMoonDuoConverterMode
Values:
-
enumerator CONVERTER_TARGET_RJ45
-
enumerator CONVERTER_TARGET_USB_CM
-
enumerator CONVERTER_TARGET_RJ45
-
typedef std::function<void(APIEvent::Type, APIEvent::Severity)> icsneo::device_eventhandler_t
-
typedef std::function<void(std::vector<FoundDevice>&)> icsneo::driver_finder_t
-
using icsneo::MiscIO = neomiscio_t
-
typedef uint32_t icsneo::LiveDataHandle
-
using icsneo::PCMSample = int32_t
-
using icsneo::ChannelMap = std::unordered_map<uint8_t, uint8_t>
-
using icsneo::CANErrorCountMessage = CANErrorMessage
-
using icsneo::MACAddress = std::array<uint8_t, 6>
-
typedef uint16_t icsneo::icscm_bitfield
-
typedef uint64_t icsneo::MemoryAddress
-
typedef std::function<std::unique_ptr<Driver>(device_eventhandler_t err, neodevice_t &forDevice)> icsneo::driver_factory_t
-
typedef struct icsneo::valuecan4_1_2_settings_t icsneo::valuecan4_1_settings_t
-
typedef struct icsneo::valuecan4_1_2_settings_t icsneo::valuecan4_2_settings_t
-
typedef struct icsneo::valuecan4_4_2el_settings_t icsneo::valuecan4_4_settings_t
-
typedef struct icsneo::valuecan4_4_2el_settings_t icsneo::valuecan4_2el_settings_t
-
typedef struct icsneo::valuecan4_4_2el_status_t icsneo::valuecan4_4_status_t
-
typedef struct icsneo::valuecan4_4_2el_status_t icsneo::valuecan4_2el_status_t
-
using icsneo::CaptureBitfield = uint16_t
-
using icsneo::Timestamp = ICSClock::time_point
-
static constexpr size_t icsneo::MAX_LIVE_DATA_ENTRIES = 20
-
static constexpr size_t icsneo::MaxPhyEntries = 128u
-
static constexpr size_t icsneo::MaxBytesPhyEntries = MaxPhyEntries * sizeof(PhyRegisterHeader_t)
-
static constexpr uint8_t icsneo::PhyPacketVersion = 1u
-
static constexpr uint8_t icsneo::FiveBits = 0x1Fu
-
static constexpr size_t icsneo::I2CMaxLength = 1024u
-
static constexpr uint64_t icsneo::ICSEpochHoursSinceUnix = 13514 * 24
-
static constexpr uint64_t icsneo::UINT63_MAX = 0x7FFFFFFFFFFFFFFFu
-
neoversion_t icsneo::GetVersion(void)
-
inline std::ostream &icsneo::operator<<(std::ostream &os, const LiveDataCommand cmd)
-
inline std::ostream &icsneo::operator<<(std::ostream &os, const LiveDataStatus cmd)
-
inline std::ostream &icsneo::operator<<(std::ostream &os, const LiveDataValueType cmd)
-
std::shared_ptr<Message> icsneo::CreateMessageFromNeoMessage(const neomessage_t *neomessage)
-
std::optional<uint8_t> icsneo::CAN_LengthToDLC(size_t dataLength, bool fd)
-
uint32_t icsneo::crc32(uint32_t crc, const unsigned char *buf, uint32_t len)
-
uint32_t icsneo::revcrc32(uint32_t crc, const unsigned char *buf, uint32_t len)
-
std::vector<std::shared_ptr<Device>> icsneo::FindAllDevices()
-
std::vector<DeviceType> icsneo::GetSupportedDevices()
-
size_t icsneo::EventCount(EventFilter filter = EventFilter())
-
std::vector<APIEvent> icsneo::GetEvents(EventFilter filter, size_t max = 0)
-
std::vector<APIEvent> icsneo::GetEvents(size_t max = 0, EventFilter filter = EventFilter())
-
void icsneo::GetEvents(std::vector<APIEvent> &events, EventFilter filter, size_t max = 0)
-
void icsneo::GetEvents(std::vector<APIEvent> &events, size_t max = 0, EventFilter filter = EventFilter())
-
APIEvent icsneo::GetLastError()
-
void icsneo::DiscardEvents(EventFilter filter = EventFilter())
-
void icsneo::SetEventLimit(size_t newLimit)
-
size_t icsneo::GetEventLimit()
-
std::string icsneo::convertWideString(const std::wstring &value)
-
std::wstring icsneo::convertStringToWide(const std::string &value)
-
class A2BMessage : public icsneo::Frame
- #include <a2bmessage.h>
Public Types
Public Functions
-
A2BMessage() = default
-
A2BMessage(size_t numFrames, TDMMode tdm, bool chSize16)
Creates a new A2BMessage
- Parameters:
numFrames – The number of audio frames to hold in the message audio buffer
tdm – The TDM mode to transmit this message to, note this variable determines the number of channels
chSize16 – True if the message channel sizes are 16 bit, false for 32 bit.
-
A2BMessage(TDMMode tdm, bool chSize16)
Creates a new A2BMessage with the maximum number of possible frames
- Parameters:
tdm – The TDM mode to transmit this message to, note this variable determines the number of channels
chSize16 – True if the message channel sizes are 16 bit, false for 32 bit.
-
bool loadAudioBuffer(IWAVStream &wavStream, const ChannelMap &channelMap)
Loads A2BMessage audio buffer from a IWAVStream object representing a WAV data-stream
- Parameters:
wavStream – The WAV data-stream the audio buffer with
channelMap – A map which maps a message channel to a wav channel. See docs for A2B message channel format
- Returns:
true on successful load, false otherwise
-
PCMSample getChannelSample(Direction dir, uint8_t channel, size_t frame, PCMType pcmType) const
Get a PCM sample from the audio buffer. If the desired pcmType is larger than the channel size, the output will be a PCM sample which is scaled up.
- Parameters:
dir – The direction of the A2B stream
channel – The desired channel to read a PCM sample from
frame – The desired frame to read a PCM sample from
pcmType – The interpretted bit depth of the audio buffer sample
-
void setChannelSample(Direction dir, uint8_t channel, size_t frame, PCMSample sampleToSet, PCMType pcmType)
Write a PCM sample to the audio buffer
- Parameters:
dir – The direction of the A2B stream
channel – The desired channel to write a PCM sample to
frame – The desired frame to write a PCM sample to
sampleToSet – The PCM sample which will be written to the buffer
pcmType – The interpretted bit depth of the sample to write
-
size_t getFrameSize() const
-
uint8_t getBytesPerChannel() const
-
size_t getNumFrames() const
Public Members
-
uint16_t rfu2 = 0
-
uint8_t numChannels = 0
-
bool channelSize16 = false
-
bool monitor = false
-
bool txmsg = false
-
bool errIndicator = false
-
bool syncFrame = false
Public Static Attributes
-
static constexpr size_t maxAudioBufferSize = 2048
-
A2BMessage() = default
-
class A2BWAVOutput : public icsneo::StreamOutput
- #include <a2bwavoutput.h>
A message callback which injests A2BMessage PCM data and formats it into a WAV file
Public Functions
-
A2BWAVOutput(const char *filename, const ChannelMap &channelMap, PCMType bitDepth, size_t numWAVChannels, uint32_t sampleRate = 48000)
Creates a new A2BWAVOutput object
- Parameters:
filename – Name of desired output WAV file
channelMap – A map which maps a channel in the output WAV file to a channel in received messages. See docs for specific channel format in messages
bitDepth – The size of the samples in the WAV file.
numWAVChannels – The number of channels in the output WAV file
sampleRate – The output WAV file sample rate
-
A2BWAVOutput(std::ostream &os, const ChannelMap &channelMap, PCMType bitDepth, size_t numWAVChannels, uint32_t sampleRate = 48000)
Creates a new A2BWAVOutput object
- Parameters:
os – A std::ostream object which represents this WAV file
channelMap – A map which maps a channel in the output WAV file to a channel in received messages. See docs for specific channel format in messages
bitDepth – The size of the samples in the WAV file.
numWAVChannels – The number of channels in the output WAV file
sampleRate – The output WAV file sample rate
-
~A2BWAVOutput() override
Public Static Attributes
-
static constexpr size_t wavBufferSize = 1024 * 32
-
A2BWAVOutput(const char *filename, const ChannelMap &channelMap, PCMType bitDepth, size_t numWAVChannels, uint32_t sampleRate = 48000)
-
class Address
- #include <socket.h>
-
class APIEvent
- #include <event.h>
Public Types
-
enum class Type : uint32_t
Values:
-
enumerator Any
-
enumerator InvalidNeoDevice
-
enumerator RequiredParameterNull
-
enumerator BufferInsufficient
-
enumerator OutputTruncated
-
enumerator ParameterOutOfRange
-
enumerator DeviceCurrentlyOpen
-
enumerator DeviceCurrentlyClosed
-
enumerator DeviceCurrentlyOnline
-
enumerator DeviceCurrentlyOffline
-
enumerator DeviceCurrentlyPolling
-
enumerator DeviceNotCurrentlyPolling
-
enumerator UnsupportedTXNetwork
-
enumerator MessageMaxLengthExceeded
-
enumerator ValueNotYetPresent
-
enumerator Timeout
-
enumerator WiVINotSupported
-
enumerator RestrictedEntryFlag
-
enumerator NotSupported
-
enumerator FixedPointOverflow
-
enumerator FixedPointPrecision
-
enumerator SyscallError
-
enumerator MACsecSecYLimit
-
enumerator MACsecSaLimit
-
enumerator MACsecRuleLimit
-
enumerator MACsecInvalidSecYIndex
-
enumerator MACsecInvalidSaIndex
-
enumerator MACsecInvalidRuleIndex
-
enumerator MACsecRekeyNotEnabled
-
enumerator MACsecNotSupported
-
enumerator MACsecConfigMismatch
-
enumerator PollingMessageOverflow
-
enumerator NoSerialNumber
-
enumerator IncorrectSerialNumber
-
enumerator SettingsReadError
-
enumerator SettingsVersionError
-
enumerator SettingsLengthError
-
enumerator SettingsChecksumError
-
enumerator SettingsNotAvailable
-
enumerator SettingsReadOnly
-
enumerator CANSettingsNotAvailable
-
enumerator CANFDSettingsNotAvailable
-
enumerator LSFTCANSettingsNotAvailable
-
enumerator SWCANSettingsNotAvailable
-
enumerator BaudrateNotFound
-
enumerator UnexpectedNetworkType
-
enumerator DeviceFirmwareOutOfDate
-
enumerator SettingsStructureMismatch
-
enumerator SettingsStructureTruncated
-
enumerator NoDeviceResponse
-
enumerator MessageFormattingError
-
enumerator CANFDNotSupported
-
enumerator RTRNotSupported
-
enumerator DeviceDisconnected
-
enumerator OnlineNotSupported
-
enumerator TerminationNotSupportedDevice
-
enumerator TerminationNotSupportedNetwork
-
enumerator AnotherInTerminationGroupEnabled
-
enumerator NoSerialNumberFW
-
enumerator NoSerialNumber12V
-
enumerator NoSerialNumberFW12V
-
enumerator EthPhyRegisterControlNotAvailable
-
enumerator DiskNotSupported
-
enumerator EOFReached
-
enumerator SettingsDefaultsUsed
-
enumerator AtomicOperationRetried
-
enumerator AtomicOperationCompletedNonatomically
-
enumerator WiVIStackRefreshFailed
-
enumerator WiVIUploadStackOverflow
-
enumerator I2CMessageExceedsMaxLength
-
enumerator A2BMessageIncompleteFrame
-
enumerator CoreminiUploadVersionMismatch
-
enumerator DiskNotConnected
-
enumerator UnexpectedResponse
-
enumerator LiveDataInvalidHandle
-
enumerator LiveDataInvalidCommand
-
enumerator LiveDataInvalidArgument
-
enumerator LiveDataVersionMismatch
-
enumerator LiveDataNoDeviceResponse
-
enumerator LiveDataMaxSignalsReached
-
enumerator LiveDataCommandFailed
-
enumerator LiveDataEncoderError
-
enumerator LiveDataDecoderError
-
enumerator LiveDataNotSupported
-
enumerator LINSettingsNotAvailable
-
enumerator ModeNotFound
-
enumerator AppErrorParsingFailed
-
enumerator GPTPNotSupported
-
enumerator SettingNotAvaiableDevice
-
enumerator DiskFormatNotSupported
-
enumerator DiskFormatInvalidCount
-
enumerator FailedToRead
-
enumerator FailedToWrite
-
enumerator DriverFailedToOpen
-
enumerator DriverFailedToClose
-
enumerator PacketChecksumError
-
enumerator TransmitBufferFull
-
enumerator DeviceInUse
-
enumerator PCAPCouldNotStart
-
enumerator PCAPCouldNotFindDevices
-
enumerator PacketDecodingError
-
enumerator SocketFailedToOpen
-
enumerator FailedToBind
-
enumerator ErrorSettingSocketOption
-
enumerator GetIfAddrsError
-
enumerator SendToError
-
enumerator MDIOMessageExceedsMaxLength
-
enumerator VSABufferCorrupted
-
enumerator VSATimestampNotFound
-
enumerator VSABufferFormatError
-
enumerator VSAMaxReadAttemptsReached
-
enumerator VSAByteParseFailure
-
enumerator VSAExtendedMessageError
-
enumerator VSAOtherError
-
enumerator ServdBindError
-
enumerator ServdNonblockError
-
enumerator ServdTransceiveError
-
enumerator ServdOutdatedError
-
enumerator ServdInvalidResponseError
-
enumerator ServdLockError
-
enumerator ServdSendError
-
enumerator ServdRecvError
-
enumerator ServdPollError
-
enumerator ServdNoDataError
-
enumerator ServdJoinMulticastError
-
enumerator ServdNotReachable
-
enumerator DXXErrorSys
-
enumerator DXXErrorInt
-
enumerator DXXErrorOverflow
-
enumerator DXXErrorIO
-
enumerator DXXErrorArg
-
enumerator NoErrorFound
-
enumerator TooManyEvents
-
enumerator Unknown
-
enumerator Any
-
enum class Severity : uint8_t
Values:
-
enumerator Any
-
enumerator EventInfo
-
enumerator EventWarning
-
enumerator Error
-
enumerator Any
-
typedef std::chrono::system_clock EventClock
-
typedef std::chrono::time_point<EventClock> EventTimePoint
Public Functions
-
inline APIEvent()
-
inline const neoevent_t *getNeoEvent() const noexcept
-
inline std::string getDescription() const noexcept
-
inline EventTimePoint getTimestamp() const noexcept
-
void downgradeFromError() noexcept
-
bool isForDevice(std::string serial) const noexcept
-
std::string describe() const noexcept
-
enum class Type : uint32_t
-
class AppErrorMessage : public icsneo::RawMessage
- #include <apperrormessage.h>
Public Functions
-
inline AppErrorMessage()
-
AppErrorType getAppErrorType()
-
std::string getAppErrorString()
Public Static Functions
-
static std::shared_ptr<Message> DecodeToMessage(const std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
inline AppErrorMessage()
-
struct BootloaderPhase
- #include <bootloaderpipeline.h>
Subclassed by icsneo::EnterApplicationPhase, icsneo::EnterBootloaderPhase, icsneo::FinalizePhase, icsneo::FlashPhase, icsneo::ReconnectPhase, icsneo::WaitPhase
Public Types
-
struct BootloaderPipeline
- #include <bootloaderpipeline.h>
Public Functions
-
template<typename Phase, typename ...Args>
inline BootloaderPipeline &add(Args... args)
-
inline BootloaderPipeline &addSetting(BootloaderSetting type, const std::variant<int, bool> &setting)
-
inline operator bool() const
Public Members
-
std::vector<std::shared_ptr<BootloaderPhase>> phases
-
std::unordered_map<BootloaderSetting, std::variant<int, bool>> settings
-
template<typename Phase, typename ...Args>
-
class CANErrorMessage : public icsneo::RawMessage
- #include <canerrormessage.h>
Public Functions
-
inline CANErrorMessage()
Public Members
-
uint8_t transmitErrorCount
-
uint8_t receiveErrorCount
-
bool busOff
-
bool errorPassive
-
bool errorWarn
-
CANErrorCode dataErrorCode
-
CANErrorCode errorCode
-
inline CANErrorMessage()
-
class CANMessageCallback : public icsneo::MessageCallback
- #include <canmessagecallback.h>
Public Functions
-
inline CANMessageCallback(fn_messageCallback cb, CANMessageFilter f = CANMessageFilter())
-
inline CANMessageCallback(CANMessageFilter f, fn_messageCallback cb)
-
inline CANMessageCallback(fn_messageCallback cb, CANMessageFilter f = CANMessageFilter())
-
class CANMessageFilter : public icsneo::MessageFilter
- #include <canmessagefilter.h>
-
class CDCACM : public icsneo::Driver, public icsneo::Driver
- #include <cdcacm.h>
Public Functions
-
inline CDCACM(const device_eventhandler_t &err, neodevice_t &forDevice)
Note: This is a driver for all devices which use CDC_ACM Once we find the TTY we want it’s a pretty generic POSIX TTY driver, but the method for finding the TTY we want varies by OS. On Linux, we read sysfs to find users of the CDC_ACM driver On macOS, we use IOKit to find the USB device we’re looking for As such platform specific FindByProduct & HandleToTTY code can be found in cdcacmlinux.cpp and cdcacmdarwin.cpp respectively Other POSIX systems (BSDs, QNX, etc) will need bespoke code written in the future
-
~CDCACM()
-
virtual bool open() override
-
virtual bool isOpen() override
-
virtual bool close() override
-
inline virtual driver_finder_t getFinder() override
-
virtual void modeChangeIncoming() override
-
virtual void awaitModeChangeComplete() override
-
CDCACM(const device_eventhandler_t &err, const std::wstring &path)
-
virtual bool open() override
-
virtual bool isOpen() override
-
virtual bool close() override
-
inline virtual driver_finder_t getFinder() override
Public Static Functions
-
static void Find(std::vector<FoundDevice> &found)
-
static void Find(std::vector<FoundDevice> &found)
-
inline CDCACM(const device_eventhandler_t &err, neodevice_t &forDevice)
-
struct ChipInfo
- #include <chipinfo.h>
Public Functions
-
ChipInfo() = default
-
inline ChipInfo(ChipID id, bool defaultEnabled, const char *name, const char *iefName, size_t versionIndex, FirmwareType fwType)
-
inline ChipInfo(ChipID id, bool defaultEnabled, const char *name, const char *iefName, const std::vector<const char*> &iefSegments, size_t versionIndex, FirmwareType fwType)
-
inline bool isMultiIEF() const
Public Members
-
ChipID id
The default enabled field is for devices which can’t deduce the specific ChipID of a device until entering the bootloader.
If defaultEnabled is set to true, the bootloader and version retrieval functions assume that the chip is enabled, so it will perform version deduction based on the default enabled chip. If defaultEnabled is set to false, then this chip info may or may not apply to this device
Example: RADA2B RevA and RevB chips
Sometimes we can’t deduce whether we have a RevA or RevB chip before entering the bootloader if the device does not support component versions. These chips track the same version, so we assume that the chip is RevA (RevA defaultEnabled=true, RevB defaultEnabled=false) and check during the bootloader if this chip is RevA or RevB.
-
bool defaultEnabled = false
-
const char *name = nullptr
-
const char *iefName = nullptr
-
size_t versionIndex = 0
-
FirmwareType fwType
-
std::vector<const char*> iefSegments
-
ChipInfo() = default
-
struct Clause22Message
- #include <ethphyregpacket.h>
-
struct Clause45Message
- #include <ethphyregpacket.h>
-
class ClientIdMessage : public icsneo::Message
- #include <clientidmessage.h>
Public Functions
-
inline ClientIdMessage()
Public Members
-
std::optional<uint32_t> clientId
Public Static Functions
-
static std::shared_ptr<ClientIdMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
inline ClientIdMessage()
-
class Communication
- #include <communication.h>
Subclassed by icsneo::MultiChannelCommunication
Public Functions
-
inline Communication(device_eventhandler_t report, std::unique_ptr<Driver> &&driver, std::function<std::unique_ptr<Packetizer>()> makeConfiguredPacketizer, std::unique_ptr<Encoder> &&e, std::unique_ptr<Decoder> &&md)
-
virtual ~Communication()
-
bool open()
-
bool close()
-
bool isOpen()
-
bool isDisconnected()
-
virtual void spawnThreads()
-
virtual void joinThreads()
-
inline void modeChangeIncoming()
-
inline void awaitModeChangeComplete()
-
inline bool rawWrite(const std::vector<uint8_t> &bytes)
-
virtual bool sendPacket(std::vector<uint8_t> &bytes)
-
void pauseReads()
-
void resumeReads()
-
bool readsArePaused()
-
inline void setWriteBlocks(bool blocks)
-
bool sendCommand(ExtendedCommand cmd, std::vector<uint8_t> arguments = {})
-
bool getSettingsSync(std::vector<uint8_t> &data, std::chrono::milliseconds timeout = std::chrono::milliseconds(50))
-
std::shared_ptr<SerialNumberMessage> getSerialNumberSync(std::chrono::milliseconds timeout = std::chrono::milliseconds(50))
-
std::optional<std::vector<std::optional<DeviceAppVersion>>> getVersionsSync(std::chrono::milliseconds timeout = std::chrono::milliseconds(50))
-
std::shared_ptr<LogicalDiskInfoMessage> getLogicalDiskInfoSync(std::chrono::milliseconds timeout = std::chrono::milliseconds(50))
-
std::optional<std::vector<ComponentVersion>> getComponentVersionsSync(std::chrono::milliseconds timeout = std::chrono::milliseconds(50))
-
std::optional<uint32_t> getClientIDSync()
-
bool removeMessageCallback(int id)
Public Members
-
std::function<std::unique_ptr<Packetizer>()> makeConfiguredPacketizer
-
std::unique_ptr<Packetizer> packetizer
-
device_eventhandler_t report
-
size_t readTaskWakeLimit = 1
-
std::chrono::milliseconds readTaskWakeTimeout = std::chrono::milliseconds(1000)
-
inline Communication(device_eventhandler_t report, std::unique_ptr<Driver> &&driver, std::function<std::unique_ptr<Packetizer>()> makeConfiguredPacketizer, std::unique_ptr<Encoder> &&e, std::unique_ptr<Decoder> &&md)
-
class ComponentVersion
- #include <componentversionsmessage.h>
Public Functions
-
inline ComponentVersion(uint8_t valid, uint8_t componentInfo, uint32_t identifier, uint32_t dotVersion, uint32_t commitHash, uint8_t expansionSlot)
Public Members
-
const bool valid
-
const uint8_t componentInfo
-
const uint32_t identifier
-
const uint32_t dotVersion
-
const uint32_t commitHash
-
const uint8_t expansionSlot
Public Static Functions
-
static inline ComponentVersion FromAppVersion(uint32_t identifier, uint8_t appMajor, uint8_t appMinor)
-
inline ComponentVersion(uint8_t valid, uint8_t componentInfo, uint32_t identifier, uint32_t dotVersion, uint32_t commitHash, uint8_t expansionSlot)
-
struct ComponentVersionPacket
- #include <componentversionpacket.h>
Public Static Functions
-
static std::shared_ptr<ComponentVersionsMessage> DecodeToMessage(const std::vector<uint8_t> &bytes)
-
static std::shared_ptr<ComponentVersionsMessage> DecodeToMessage(const std::vector<uint8_t> &bytes)
-
class ComponentVersionsMessage : public icsneo::Message
- #include <componentversionsmessage.h>
Public Functions
-
inline ComponentVersionsMessage()
Public Members
-
std::vector<ComponentVersion> versions
-
inline ComponentVersionsMessage()
-
union CoreMiniFixedPointValue
- #include <wivicommandpacket.h>
Public Functions
-
inline CoreMiniFixedPointValue()
-
inline CoreMiniFixedPointValue(int32_t integralValue)
Public Members
-
uint32_t ValueFractionPart
-
int16_t ValueInt16FractionLSB
-
int16_t ValueInt16FractionMSB
-
int32_t ValueInt32
-
int16_t ValueInt16
-
int16_t ValueInt16PartMSB
-
uint8_t ValueInt8
-
uint8_t ValueInt8PartMSB
-
int16_t ValueInt8Part16MSB
- struct icsneo::CoreMiniFixedPointValue
-
int64_t ValueLarge
-
inline CoreMiniFixedPointValue()
-
struct CoreminiHeader
- #include <coremini.h>
-
struct CoreMiniStatus
- #include <scriptstatuspacket.h>
Public Members
-
uint32_t justReset
-
uint32_t communicationEnabled
-
uint32_t isRunning
-
uint32_t checksumFailed
-
uint32_t licenseFailed
-
uint32_t versionMismatch
-
uint32_t bootOff
-
uint32_t hardwareFailure
-
uint32_t isPassiveConnect
-
uint32_t usbCommunicationEnabled
-
uint32_t linuxCommunicationEnabled
-
uint32_t tooBig
-
uint32_t hidUsbState
-
uint32_t fpgaUsbState
-
uint32_t filesystem
-
uint32_t isEncrypted
-
uint32_t reserved
-
uint32_t justReset
-
class Decoder
- #include <decoder.h>
Public Members
-
uint16_t timestampResolution = 25
Public Static Functions
-
static uint64_t GetUInt64FromLEBytes(const uint8_t *bytes)
-
uint16_t timestampResolution = 25
-
class Device
- #include <device.h>
Subclassed by icsneo::EtherBADGE, icsneo::NeoOBD2PRO, icsneo::NeoOBD2SIM, icsneo::NeoVIConnect, icsneo::NeoVIFIRE, icsneo::NeoVIFIRE2, icsneo::NeoVIFIRE3, icsneo::NeoVIFIRE3FlexRay, icsneo::NeoVIFIRE3T1SLIN, icsneo::NeoVIRED2, icsneo::Plasion, icsneo::RADA2B, icsneo::RADComet3, icsneo::RADCometBase, icsneo::RADEpsilon, icsneo::RADEpsilonXL, icsneo::RADGalaxy, icsneo::RADGalaxy2, icsneo::RADGemini, icsneo::RADGigastar, icsneo::RADGigastar2, icsneo::RADJupiter, icsneo::RADMars, icsneo::RADMoon2Base, icsneo::RADMoon3, icsneo::RADMoonDuo, icsneo::RADMoonT1S, icsneo::RADPluto, icsneo::RADStar2, icsneo::RADSupermoon, icsneo::ValueCAN3, icsneo::ValueCAN4, icsneo::VividCAN
Public Types
-
enum class ProductID : uint8_t
Values:
-
enumerator neoVIRED
-
enumerator neoVIFIRE
-
enumerator ValueCAN3
-
enumerator VividCANPro
-
enumerator neoECU
-
enumerator IEVB
-
enumerator Pendant
-
enumerator neoAnalog
-
enumerator neoECU12
-
enumerator neoVIPLASMA
-
enumerator neoVIION
-
enumerator ValueCAN4_2EL_4
-
enumerator cmProbe
-
enumerator EEVB
-
enumerator RADStar
-
enumerator ValueCANrf
-
enumerator neoVIFIRE2
-
enumerator RADGalaxy
-
enumerator RADStar2
-
enumerator VividCAN
-
enumerator neoOBD2Sim
-
enumerator neoOBD2Pro
-
enumerator ValueCAN4_1_2
-
enumerator neoECUAVBTSN
-
enumerator RADSupermoon
-
enumerator RADMoon2
-
enumerator RADPluto
-
enumerator RADMars
-
enumerator RADIOCANHUB
-
enumerator neoOBD2LCBadge
-
enumerator RADMoonDuo
-
enumerator neoVIFIRE3
-
enumerator RADJupiter
-
enumerator ValueCAN4Industrial
-
enumerator RADGigastar
-
enumerator VividCANProUnused
-
enumerator EtherBADGE
-
enumerator RADEpsilon
-
enumerator RADA2B
-
enumerator SFPModule_88q2112
-
enumerator RADGalaxy2
-
enumerator RADMoon3
-
enumerator RADComet
-
enumerator Connect
-
enumerator SFPModule_88q2221m
-
enumerator SFPModule_88q4364
-
enumerator RADComet3
-
enumerator SFPModule_lan8670
-
enumerator RADMoonT1S
-
enumerator RADGigastar2
-
enumerator SFPModule_ent11100
-
enumerator RADGemini
-
enumerator neoVIRED
-
enum class OpenStatusType
Values:
-
enumerator QuestionContinueSkipCancel
-
enumerator QuestionContinueCancel
-
enumerator Progress
-
enumerator QuestionContinueSkipCancel
-
enum class PreloadReturn : uint8_t
Values:
-
enumerator Pending
-
enumerator Ok
-
enumerator OKEncrypted
-
enumerator NoScript
-
enumerator Pending
-
enum class ScriptStatus
Values:
-
enumerator CoreMiniRunning
-
enumerator SectorOverflow
-
enumerator RemainingSectors
-
enumerator LastSector
-
enumerator ReadBinSize
-
enumerator MinSector
-
enumerator MaxSector
-
enumerator CurrentSector
-
enumerator CoreMiniCreateTime
-
enumerator FileChecksum
-
enumerator CoreMiniVersion
-
enumerator CoreMiniHeaderSize
-
enumerator DiagnosticErrorCode
-
enumerator DiagnosticErrorCodeCount
-
enumerator MaxCoreMiniSize
-
enumerator Logging
-
enumerator IsEncrypted
-
enumerator CoreMiniRunning
-
enum RootDirectoryEntryFlags
Values:
-
enumerator IsPrePost
-
enumerator PrePostTriggered
-
enumerator UploadPriority
-
enumerator CellularEnabled
-
enumerator WiFiEnabled
-
enumerator Uploaded
-
enumerator Unused
-
enumerator IsPrePost
-
using OpenStatusHandler = std::function<Device::OpenDirective(OpenStatusType type, const std::string &status, std::optional<double> progress)>
-
typedef std::function<void(WiVIUpload upload)> NewCaptureCallback
-
typedef std::function<void(uint16_t connectionTimeoutMinutes)> SleepRequestedCallback
-
typedef std::function<void(uint64_t value)> ScriptStatusCallback
-
typedef std::function<void(void)> VINAvailableCallback
-
using DiskFormatProgress = std::function<DiskFormatDirective(uint64_t sectorsFormatted, uint64_t sectorsTotal)>
Public Functions
-
virtual ~Device()
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader()
Returns bootloader instructions
-
inline bool hasBootloader()
-
inline virtual bool supportsSwVersionValidate() const
-
inline void setBootloaderVersion(const HardwareInfo::Version &version)
-
uint16_t getTimestampResolution() const
-
inline DeviceType getType() const
-
inline std::string getSerial() const
-
inline uint32_t getSerialNumber() const
-
std::optional<std::vector<uint8_t>> getPCBSerial()
-
std::optional<std::vector<uint8_t>> getMACAddress()
-
inline const neodevice_t &getNeoDevice() const
-
inline virtual std::string getProductName() const
-
std::string describe() const
-
bool open(OpenFlags flags = {}, OpenStatusHandler handler =
[](OpenStatusType, const std::string &, std::optional< double >) { return Device::OpenDirective::Continue;})
-
virtual bool close()
-
inline virtual bool isOnline() const
-
inline virtual bool isOpen() const
-
inline virtual bool isDisconnected() const
-
virtual bool goOnline()
-
virtual bool goOffline()
-
virtual bool enableLogData()
-
virtual bool disableLogData()
-
virtual bool reconnect(std::chrono::milliseconds timeout, std::chrono::milliseconds interval = std::chrono::milliseconds(100))
-
int8_t prepareScriptLoad()
-
bool startScript(Disk::MemoryType memType = Disk::MemoryType::SD)
-
bool stopScript()
-
bool clearScript(Disk::MemoryType memType = Disk::MemoryType::SD)
-
bool uploadCoremini(std::istream &stream, Disk::MemoryType memType = Disk::MemoryType::SD)
-
std::optional<CoreminiHeader> readCoreminiHeader(Disk::MemoryType memType = Disk::MemoryType::SD)
-
bool eraseScriptMemory(Disk::MemoryType memType, uint64_t amount)
-
inline virtual std::optional<MemoryAddress> getCoreminiStartAddressFlash() const
-
inline virtual std::optional<MemoryAddress> getCoreminiStartAddressSD() const
-
inline bool supportsCoreminiScript() const
-
inline std::optional<MemoryAddress> getCoreminiStartAddress(Disk::MemoryType memType) const
-
inline virtual bool supportsEraseMemory() const
-
bool enableMessagePolling(std::optional<MessageFilter> filter = std::nullopt)
-
bool disableMessagePolling()
-
inline bool isMessagePollingEnabled()
-
inline size_t getCurrentMessageCount()
-
inline size_t getPollingMessageLimit()
-
inline void setPollingMessageLimit(size_t newSize)
-
inline bool removeMessageCallback(int id)
-
void setWriteBlocks(bool blocks)
-
std::shared_ptr<HardwareInfo> getHardwareInfo(std::chrono::milliseconds timeout = std::chrono::milliseconds(100))
-
std::optional<uint64_t> readLogicalDisk(uint64_t pos, uint8_t *into, uint64_t amount, std::chrono::milliseconds timeout = Disk::DefaultTimeout, Disk::MemoryType memType = Disk::MemoryType::SD)
Read from the logical disk in this device, starting from byte
posand reading up toamountbytes.The number of bytes read will be returned in case of success.
If the number of bytes read is less than the amount requested, an error will be set in icsneo::GetLastError() explaining why. Likely, either the end of the logical disk has been reached, or the timeout was reached while the read had only partially completed.
Upon failure, icsneo::nullopt will be returned and an error will be set in icsneo::GetLastError().
-
std::optional<uint64_t> writeLogicalDisk(uint64_t pos, const uint8_t *from, uint64_t amount, std::chrono::milliseconds timeout = Disk::DefaultTimeout, Disk::MemoryType memType = Disk::MemoryType::SD)
Write to the logical disk in this device, starting from byte
posand writing up toamountbytes.The number of bytes written will be returned in case of success.
If the number of bytes written is less than the amount requested, an error will be set in icsneo::GetLastError() explaining why. Likely, either the end of the logical disk has been reached, or the timeout was reached while the write had only partially completed.
Upon failure, icsneo::nullopt will be returned and an error will be set in icsneo::GetLastError().
-
std::optional<bool> isLogicalDiskConnected()
Check if the logical disk is connected. This means the disk is inserted, and if required (for instance for multi-card configurations), configured properly.
This method is synchronous and contacts the device for the latest status.
icsneo::nulloptwill be returned if the device does not respond in a timely manner.
-
std::optional<uint64_t> getLogicalDiskSize()
Get the size of the connected logical disk in bytes.
This method is synchronous and contacts the device for the latest status.
icsneo::nulloptwill be returned if the device does not respond in a timely manner, or if the disk is disconnected/improperly configured.
-
std::optional<uint64_t> getVSAOffsetInLogicalDisk()
Get the offset to the VSA filesystem within the logical disk, represented in bytes.
This method is synchronous and consacts the device for the latest status if necessary.
icsneo::nulloptwill be returned if the device does not respond in a timely manner, or if the disk is disconnected/improperly configured.
-
inline virtual size_t getEthernetActivationLineCount() const
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual size_t getUSBHostPowerCount() const
Retrieve the number of power-controlled USB Host ports present on this device.
-
inline virtual bool getBackupPowerSupported() const
Tell whether the current device supports controlling a backup power source through the API.
-
inline virtual std::vector<MiscIO> getMiscIO() const
Retrieve the information about the misc IOs present on this device.
-
inline virtual std::vector<MiscIO> getEMiscIO() const
Retrieve the information about the emisc IOs present on this device.
-
std::optional<bool> getDigitalIO(IO type, size_t number = 1)
Get the value of a digital IO, returning an empty optional if the value is not present, the specified IO is not valid for this device, or if an error occurs.
The index number starts counting at 1 to keep the numbers in sync with the numbering on the device, and is set to 1 by default.
-
bool setDigitalIO(IO type, size_t number, bool value)
Set a digital IO to either a 1, if value is true, or 0 otherwise.
The index number starts counting at 1 to keep the numbers in sync with the numbering on the device.
-
inline bool setDigitalIO(IO type, bool value)
Set the first digital IO of a given type to either a 1, if value is true, or 0 otherwise.
-
std::optional<double> getAnalogIO(IO type, size_t number = 1)
Get the value of an analog IO, returning an empty optional if the value is not present, the specified IO is not valid for this device, or if an error occurs.
The index number starts counting at 1 to keep the numbers in sync with the numbering on the device, and is set to 1 by default.
-
Lifetime addNewCaptureCallback(NewCaptureCallback cb)
Add a callback which will be called for all new captures.
This is invalid for devices which are not running the Wireless neoVI stack.
-
Lifetime addSleepRequestedCallback(SleepRequestedCallback cb)
Add a callback which will be called when a Wireless neoVI device is ready for sleep, pending any uploads we might want to complete first.
Call Device::allowSleep() once ready to signal that status to the device.
Check Device::isSleepRequested() to check if the sleep request was interrupted. In that case, the sleep requested callbacks will be called again.
This is invalid for devices which are not running the Wireless neoVI stack.
-
std::optional<bool> isSleepRequested() const
Check whether sleep has been requested by a VSSAL Wireless neoVI script.
-
bool allowSleep(bool remoteWakeup = false)
Signal to a running VSSAL Wireless neoVI script that we are ready for sleep.
If
This is invalid for devices which are not running the Wireless neoVI stack.
- Parameters:
remoteWakeup – is specified, the modem will be kept running in sleep mode, where supported.
-
std::shared_ptr<ScriptStatusMessage> getScriptStatus() const
Get all current script status values
-
inline Lifetime addCoreMiniRunningCallback(ScriptStatusCallback cb)
Add a callback to be called when VSSAL script running state changes
-
inline Lifetime addEncryptedModeCallback(ScriptStatusCallback cb)
Add a callback to be called when the VSSAL script encryption mode changes
-
inline Lifetime addSectorOverflowsCallback(ScriptStatusCallback cb)
Add a callback to be called when the number of times a sector was dropped due to lack of space in firmware’s filesystem buffer changes
-
inline Lifetime addNumberRemainingSectorsCallback(ScriptStatusCallback cb)
Add a callback to be called when number of sectors of space left in firmware’s local file system buffer changes
-
inline Lifetime addLastSectorCallback(ScriptStatusCallback cb)
Add a callback to be called when last sector that was written to changes
-
inline Lifetime addReadBinSizeCallback(ScriptStatusCallback cb)
Add a callback to be called when the size of the ReadBin changes
-
inline Lifetime addMinSectorCallback(ScriptStatusCallback cb)
Add a callback to be called when the first sector address of logged data changes
-
inline Lifetime addMaxSectorCallback(ScriptStatusCallback cb)
Add a callback to be called when the last sector address of logged data changes
-
inline Lifetime addCurrentSectorCallback(ScriptStatusCallback cb)
Add a callback to be called when the sector that is about to be written changes
-
inline Lifetime addCoreMiniCreateTimeCallback(ScriptStatusCallback cb)
Add a callback to be called when the VSSAL script create time changes
-
inline Lifetime addFileChecksumCallback(ScriptStatusCallback cb)
Add a callback to be called when the VSSAL script checksum changes
-
inline Lifetime addCoreMiniVersionCallback(ScriptStatusCallback cb)
Add a callback to be called when the VSSAL script version changes
-
inline Lifetime addCoreMiniHeaderSizeCallback(ScriptStatusCallback cb)
Add a callback to be called when the VSSAL script header size changes
-
inline Lifetime addDiagnosticErrorCodeCallback(ScriptStatusCallback cb)
Add a callback to be called when the firmware diagnostic error code changes
-
inline Lifetime addDiagnosticErrorCodeCountCallback(ScriptStatusCallback cb)
Add a callback to be called when the firmware diagnostic error code count changes
-
inline Lifetime addMaxCoreMiniSizeCallback(ScriptStatusCallback cb)
Add a callback to be called when the maximum size a VSSAL script can be changes
-
inline Lifetime addLoggingCallback(ScriptStatusCallback cb)
Add a callback to be called when the device logging state changes
-
Lifetime addVINAvailableCallback(VINAvailableCallback cb)
-
std::optional<bool> isVINEnabled() const
-
std::optional<std::string> getVIN() const
-
inline virtual std::vector<std::shared_ptr<FlexRay::Controller>> getFlexRayControllers() const
-
bool refreshComponentVersions()
-
inline const std::vector<std::optional<DeviceAppVersion>> &getVersions() const
For use by extensions only.
-
inline const std::vector<ComponentVersion> &getComponentVersions() const
-
virtual std::vector<VersionReport> getChipVersions(bool refreshComponents = true)
-
inline virtual bool currentDriverSupportsDFU() const
Some alternate communication protocols do not support DFU
-
inline const device_eventhandler_t &getEventHandler() const
-
inline virtual bool getEthPhyRegControlSupported() const
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
std::optional<std::chrono::time_point<std::chrono::system_clock>> getRTC()
-
bool setRTC(const std::chrono::time_point<std::chrono::system_clock> &time)
-
std::optional<std::set<SupportedFeature>> getSupportedFeatures()
-
inline virtual bool supportsWiVI() const
Returns true if this device supports the Wireless neoVI featureset
-
inline virtual bool supportsLiveData() const
-
std::optional<EthPhyMessage> sendEthPhyMsg(const EthPhyMessage &message, std::chrono::milliseconds timeout = std::chrono::milliseconds(50))
-
std::optional<bool> SetRootDirectoryEntryFlags(uint8_t mask, uint8_t values, uint32_t collectionEntryByteAddress)
Set the flags of the root directory entry specified at given address
Will not allow changes of IsPrePost and PrePostTriggered flags and will produce a warning if there is an attempt to do so
- Parameters:
mask – Flags to set, with each bit representing a different entry flag @RootDirectoryEntryFlags
values – The values in which to set each flag, each bit corresponding to the flag in the same position
collectionEntryByteAddress – The position of the root directory entry in which to set these flags
- Returns:
Success or failure
-
std::optional<size_t> getGenericBinarySize(uint16_t binaryIndex)
-
bool readBinaryFile(std::ostream &stream, uint16_t binaryIndex)
-
bool writeBinaryFile(const std::vector<uint8_t> &in, uint16_t binaryIndex)
-
bool unsubscribeLiveData(const LiveDataHandle &handle)
-
bool clearAllLiveData()
-
bool formatDisk(const DiskDetails &config, const DiskFormatProgress &handler = {}, std::chrono::milliseconds interval = std::chrono::milliseconds(500))
- Parameters:
interval – Send updates at an interval of 500ms
-
bool forceDiskConfigUpdate(const DiskDetails &config)
-
std::shared_ptr<DiskDetails> getDiskDetails(std::chrono::milliseconds timeout = std::chrono::milliseconds(100))
-
inline virtual size_t getDiskCount() const
-
inline bool supportsDiskFormatting() const
-
bool readVSA(const VSAExtractionSettings &extractionSettings = VSAExtractionSettings())
Read VSA message records from disk and dispatch the messages via Communication object. Default behavior excludes records older than the current CoreMini script and performs a full disk dump of other records. The CoreMini script is also stopped by default.
- Parameters:
extractionSettings – Contains filters and other advanced settings for extraction process
- Returns:
Returns false if there were failures during the read or parse processes or issues with record formatting, else true
-
bool probeVSA(VSAMetadata &metadata, const VSAExtractionSettings &extractionSettings)
Determines important metadata about VSA record storage on the disk. Terminates at first failed attempt to retrieve information
- Parameters:
metadata – The metadata object to store the probed information into
extractionSettings – The settings for this extraction of VSA data
- Returns:
True if all metadata information was successfully found
Find the first VSA record chronologically from ring buffer in the VSA log file on disk
- Parameters:
firstOffset – Variable used to pass out offset of first record on the disk
firstRecord – Variable used to pass out the first record in the buffer
extractionSettings – The settings for this extraction of VSA data
optMetadata – Metadata about the current state of the VSA log file (Must include valid CoreMini timestamp, disk size, and isOverlapped values)
- Returns:
True if the first record was found successfully
Find the last record chronologically from ring buffer in the VSA log file with a valid timestamp
- Parameters:
lastOffset – Variable used to pass out the offset of the last record on the disk
lastRecord – Variable used to pass out the last record with a valid timestamp
extractionSettings – The settings for this extraction of VSA data
optMetadata – Metadata about the current state of the VSA log file (Must include valid CoreMini timestamp, disk size, and isOverlapped values)
- Returns:
True if the last record was found successfully
Find the closest VSA record to the desired time_point
- Parameters:
point – The desired time_point of the record
vsaOffset – Variable used to pass out offset of record closest to the desired time_point
record – Variable used to pass out the record closest to the desired time_point
extractionSettings – Settings for this extraction of VSA data
optMetadata – Optional param to include metadata about the VSA log file on disk
- Returns:
Pair containing the location of the record closest to the desired time_point (in bytes from the beginning of VSA log file) and the record itself
-
bool parseVSA(VSAMetadata &metadata, const VSAExtractionSettings &extractionSettings = VSAExtractionSettings(), const VSAMessageReadFilter &filter = VSAMessageReadFilter())
Parse VSA message records with the given filter and dispatch them with this device’s com channel
-
std::optional<uint64_t> vsaReadLogicalDisk(uint64_t pos, uint8_t *into, uint64_t amount, std::optional<VSAMetadata> metadata = std::nullopt)
Wrapper function for Device::readLogicalDisk(pos, into, amount, …) that handles the VSA record ring buffer. Handles pos that is before the VSA::RecordStartOffset or is larger than the diskSize. Sets amount to maximum size of ring buffer if given amount is too large.
- Parameters:
pos – Position to start read from in relation to VSA file start
into – The buffer to read bytes into from the disk
amount – The number of bytes to read into the buffer
metadata – Optional metadata param (used to determine disk size and if disk is overlapped)
- Returns:
Returns value of return from readLogicalDisk with the given inputs
-
inline virtual bool isOnlineSupported() const
-
inline virtual bool supportsComponentVersions() const
-
inline virtual bool supportsTC10() const
-
inline virtual bool supportsGPTP() const
-
std::optional<TC10StatusMessage> getTC10Status(Network::NetID network)
-
std::optional<GPTPStatus> getGPTPStatus(std::chrono::milliseconds timeout = std::chrono::milliseconds(100))
-
virtual bool writeMACsecConfig(const MACsecConfig &cfg)
-
std::shared_ptr<DeviceExtension> getExtension(const std::string &name) const
-
bool unlockAllNetworks()
-
std::shared_ptr<NetworkMutexMessage> getNetworkMutexStatus(Network::NetID network)
Public Static Functions
-
static std::string SerialNumToString(uint32_t serial)
-
static uint32_t SerialStringToNum(const std::string &serial)
-
static bool SerialStringIsNumeric(const std::string &serial)
-
class OpenFlags
- #include <device.h>
Public Types
-
enum Enum
Values:
-
enumerator SuppressAutoUpdate
Even if the firmware does not match the current firmware version, the device will not be updated.
Note: The device may still be flashed if the device has no firmware
This has no effect if the DFU extension is not present
-
enumerator ForceReflash
Force reflash the device.
This has no effect if the DFU extension is not present
-
enumerator SuppressAutoUpdate
-
enum Enum
-
struct WiVIUpload
- #include <device.h>
-
enum class ProductID : uint8_t
-
struct DeviceAppVersion
- #include <deviceversion.h>
Public Functions
-
DeviceAppVersion() = default
-
inline DeviceAppVersion(const uint8_t major, const uint8_t minor)
-
inline bool operator!=(const DeviceAppVersion &rhs) const
-
inline bool operator==(const DeviceAppVersion &rhs) const
-
DeviceAppVersion() = default
-
class DeviceExtension
- #include <deviceextension.h>
Subclassed by icsneo::FlexRay::Extension
Public Functions
-
virtual ~DeviceExtension() = default
-
virtual const char *getName() const = 0
-
inline virtual bool onDeviceOpen(Device::OpenFlags, const Device::OpenStatusHandler&)
-
inline virtual bool onDeviceCommunicationDead(Device::OpenFlags, const Device::OpenStatusHandler&)
-
inline virtual void onGoOnline()
-
inline virtual void onGoOffline()
-
inline virtual void onDeviceClose()
-
inline virtual void setGenericData(void*)
-
inline virtual bool providesFirmware() const
-
virtual ~DeviceExtension() = default
-
class DeviceFinder
- #include <devicefinder.h>
Public Static Functions
-
static const std::vector<DeviceType> &GetSupportedDevices()
-
static const std::vector<DeviceType> &GetSupportedDevices()
-
class DeviceType
- #include <devicetype.h>
Public Types
-
enum Enum
Values:
-
enumerator Unknown
-
enumerator BLUE
-
enumerator ECU_AVB
-
enumerator RADSupermoon
-
enumerator DW_VCAN
-
enumerator RADMoon2
-
enumerator RADMars
-
enumerator VCAN4_1
-
enumerator FIRE
-
enumerator RADPluto
-
enumerator VCAN4_2EL
-
enumerator RADIO_CANHUB
-
enumerator NEOECU12
-
enumerator OBD2_LCBADGE
-
enumerator RADMoonDuo
-
enumerator FIRE3
-
enumerator VCAN3
-
enumerator RADJupiter
-
enumerator VCAN4_IND
-
enumerator RADGigastar
-
enumerator RED2
-
enumerator EtherBADGE
-
enumerator RAD_A2B
-
enumerator RADEpsilon
-
enumerator RADEpsilonXL
-
enumerator RADGalaxy2
-
enumerator RADMoon3
-
enumerator RADComet
-
enumerator FIRE3_FlexRay
-
enumerator Connect
-
enumerator RADComet3
-
enumerator RADMoonT1S
-
enumerator RADGigastar2
-
enumerator FIRE3_T1S_LIN
-
enumerator FIRE3_T1S_SENT
-
enumerator RADGemini
-
enumerator RED
-
enumerator ECU
-
enumerator IEVB
-
enumerator Pendant
-
enumerator OBD2_PRO
-
enumerator ECUChip_UART
-
enumerator PLASMA
-
enumerator DONT_REUSE0
-
enumerator NEOAnalog
-
enumerator CT_OBD
-
enumerator DONT_REUSE1
-
enumerator DONT_REUSE2
-
enumerator ION
-
enumerator RADStar
-
enumerator DONT_REUSE3
-
enumerator VCAN4_4
-
enumerator VCAN4_2
-
enumerator CMProbe
-
enumerator EEVB
-
enumerator VCANrf
-
enumerator FIRE2
-
enumerator Flex
-
enumerator RADGalaxy
-
enumerator RADStar2
-
enumerator VividCAN
-
enumerator OBD2_SIM
-
enumerator Unknown
Public Functions
-
inline DeviceType()
-
inline DeviceType(devicetype_t netid)
-
inline DeviceType(DeviceType::Enum netid)
-
inline DeviceType::Enum getDeviceType() const
-
inline std::string getGenericProductName() const
-
inline operator devicetype_t() const
Public Static Functions
-
static inline const char *GetGenericProductName(DeviceType::Enum type)
Get the generic product name for this device type.
Note that device->getProductName() should always be preferred where available, as the product name may change based on device-specific factors, such as serial number.
-
enum Enum
-
class DiskDataMessage : public icsneo::RawMessage
- #include <diskdatamessage.h>
Public Functions
-
inline DiskDataMessage(std::vector<uint8_t> &&d)
-
inline DiskDataMessage(std::vector<uint8_t> &&d)
-
struct DiskDetails
- #include <diskdetails.h>
Public Static Functions
-
static std::vector<uint8_t> Encode(const DiskDetails &config)
-
static std::shared_ptr<DiskDetails> Decode(const std::vector<uint8_t> &bytes, size_t diskCount, device_eventhandler_t report)
-
static std::vector<uint8_t> Encode(const DiskDetails &config)
-
class Driver
- #include <driver.h>
Subclassed by icsneo::CDCACM, icsneo::CDCACM, icsneo::DXX, icsneo::FirmIO, icsneo::PCAP, icsneo::PCAP, icsneo::Servd, icsneo::TCP
Public Functions
-
inline Driver(const device_eventhandler_t &handler)
-
inline virtual ~Driver()
-
virtual bool open() = 0
-
virtual bool isOpen() = 0
-
inline virtual void modeChangeIncoming()
-
inline virtual void awaitModeChangeComplete()
-
virtual bool close() = 0
-
virtual driver_finder_t getFinder() = 0
-
inline bool isDisconnected() const
-
inline bool isClosing() const
-
bool waitForRx(size_t limit, std::chrono::milliseconds timeout)
-
bool waitForRx(std::function<bool()> predicate, std::chrono::milliseconds timeout)
-
bool readWait(std::vector<uint8_t> &bytes, std::chrono::milliseconds timeout = std::chrono::milliseconds(100), size_t limit = 1)
-
bool write(const std::vector<uint8_t> &bytes)
-
inline virtual bool isEthernet() const
-
inline bool readAvailable()
-
inline RingBuffer &getReadBuffer()
-
inline virtual bool enableCommunication(bool, bool &sendMsg)
-
inline Driver(const device_eventhandler_t &handler)
-
class DXX : public icsneo::Driver
- #include <dxx.h>
Public Functions
-
DXX(const device_eventhandler_t &err, neodevice_t &forDevice, uint16_t pid, libredxx_device_type type)
-
virtual bool open() override
-
virtual bool isOpen() override
-
virtual bool close() override
-
inline virtual driver_finder_t getFinder() override
Public Static Functions
-
static void Find(std::vector<FoundDevice> &found)
-
DXX(const device_eventhandler_t &err, neodevice_t &forDevice, uint16_t pid, libredxx_device_type type)
-
class Encoder
- #include <encoder.h>
Public Functions
-
inline Encoder(device_eventhandler_t report)
-
bool encode(const Packetizer &packetizer, std::vector<uint8_t> &result, Command cmd, std::vector<uint8_t> arguments = {})
-
inline Encoder(device_eventhandler_t report)
-
struct EnterApplicationPhase : public icsneo::BootloaderPhase
- #include <bootloaderpipeline.h>
Public Functions
-
inline virtual Type getType() const override
-
inline virtual Type getType() const override
-
struct EnterBootloaderPhase : public icsneo::BootloaderPhase
- #include <bootloaderpipeline.h>
Public Functions
-
inline virtual Type getType() const override
-
inline virtual Type getType() const override
-
class EtherBADGE : public icsneo::Device
- #include <etherbadge.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (EtherBADGE, DeviceType::EtherBADGE, "EB")
-
inline virtual ProductID getProductID() const override
-
struct etherbadge_settings_t
- #include <etherbadgesettings.h>
Public Members
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
LIN_SETTINGS lin1
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
uint64_t termination_enables
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
int16_t iso15765_separation_time_offset
-
uint16_t iso9141_kwp_enable_reserved
-
uint16_t iso_tester_pullup_enable
-
uint16_t iso_parity
-
uint16_t iso_msg_termination
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings
-
ETHERNET_SETTINGS ethernet
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
uint16_t misc_io_report_period
-
uint16_t misc_io_on_report_events
-
uint16_t misc_io_analog_enable
-
uint16_t ain_sample_period
-
uint16_t ain_threshold
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t enablePcEthernetComm
-
uint32_t reserved
-
struct icsneo::etherbadge_settings_t flags
-
ETHERNET_SETTINGS2 ethernet2
-
uint16_t perf_en
-
class EtherBADGESettings : public icsneo::IDeviceSettings
- #include <etherbadgesettings.h>
-
class EthernetMessage : public icsneo::Frame
- #include <ethernetmessage.h>
Public Functions
-
inline std::optional<MACAddress> getDestinationMAC() const
-
inline std::optional<MACAddress> getSourceMAC() const
-
inline std::optional<uint16_t> getEtherType() const
-
inline std::optional<MACAddress> getDestinationMAC() const
-
class EthernetPacketizer
- #include <ethernetpacketizer.h>
A layer of encapsulation on top of the standard packetizer for 0xCAB1/0xCAB2 Ethernet packets.
Not thread-safe by default.
Public Functions
-
inline EthernetPacketizer(device_eventhandler_t report)
-
void inputDown(std::vector<uint8_t> bytes, bool first = true)
Call with as many packets as desired before calling outputDown to get the results. Passing in multiple packets may result in better packing.
-
std::vector<std::vector<uint8_t>> outputDown()
-
bool inputUp(std::vector<uint8_t> bytes)
Call with packet data, the packet may be queued waiting for reassembly. In this case, false will be returned.
-
std::vector<uint8_t> outputUp()
Public Members
-
uint8_t hostMAC[6] = {0x00, 0xFC, 0x70, 0xFF, 0xFF, 0xFF}
-
uint8_t deviceMAC[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}
-
bool allowInPacketsFromAnyMAC = false
Public Static Attributes
-
static const size_t MaxPacketLength
-
class EthernetPacket
- #include <ethernetpacketizer.h>
Public Functions
-
inline EthernetPacket()
-
EthernetPacket(const std::vector<uint8_t> &bytestream)
-
EthernetPacket(const uint8_t *data, size_t size)
-
int loadBytestream(const std::vector<uint8_t> &bytestream)
-
std::vector<uint8_t> getBytestream() const
Public Members
-
uint8_t errorWhileDecodingFromBytestream = 0
-
uint8_t destMAC[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}
-
uint8_t srcMAC[6] = {0x00, 0xFC, 0x70, 0xFF, 0xFF, 0xFF}
-
uint16_t etherType = 0xCAB1
-
uint32_t icsEthernetHeader = 0xAAAA5555
-
uint16_t payloadSize = 0
-
uint16_t packetNumber = 0
-
bool firstPiece = true
-
bool lastPiece = true
-
bool bufferHalfFull = false
-
std::vector<uint8_t> payload
-
inline EthernetPacket()
-
inline EthernetPacketizer(device_eventhandler_t report)
-
class EthernetStatusMessage : public icsneo::Message
- #include <ethernetstatusmessage.h>
Public Types
Public Functions
-
class EthPhyMessage : public icsneo::Message
- #include <ethphymessage.h>
Public Functions
-
inline EthPhyMessage()
-
bool appendPhyMessage(bool writeEnable, bool clause45, uint8_t phyAddrOrPort, uint8_t pageOrDevice, uint16_t regAddr, uint16_t regVal = 0x0000u, bool enabled = true)
-
size_t getMessageCount() const
Public Members
-
std::vector<std::shared_ptr<PhyMessage>> messages
-
inline EthPhyMessage()
-
class EventCallback
- #include <eventcallback.h>
Public Functions
-
inline EventCallback(fn_eventCallback cb, EventFilter f = EventFilter())
-
inline EventCallback(EventFilter f, fn_eventCallback cb)
-
inline const EventFilter &getFilter() const
-
inline const fn_eventCallback &getCallback() const
-
inline EventCallback(fn_eventCallback cb, EventFilter f = EventFilter())
-
class EventFilter
- #include <event.h>
Public Functions
-
inline EventFilter()
-
inline EventFilter(const Device *device, APIEvent::Type type = APIEvent::Type::Any, APIEvent::Severity severity = APIEvent::Severity::Any)
-
inline EventFilter()
-
class EventManager
- #include <eventmanager.h>
Public Functions
-
inline ~EventManager()
-
void ResetInstance()
-
void downgradeErrorsOnCurrentThread()
-
void cancelErrorDowngradingOnCurrentThread()
-
bool isDowngradingErrorsOnCurrentThread() const
-
int addEventCallback(const EventCallback &cb)
-
bool removeEventCallback(int id)
-
inline size_t eventCount(EventFilter filter = EventFilter()) const
-
inline std::vector<APIEvent> get(EventFilter filter, size_t max = 0)
-
inline std::vector<APIEvent> get(size_t max = 0, EventFilter filter = EventFilter())
-
inline void get(std::vector<APIEvent> &outEvents, EventFilter filter, size_t max = 0)
-
void get(std::vector<APIEvent> &outEvents, size_t max = 0, EventFilter filter = EventFilter())
-
inline void add(APIEvent::Type type, APIEvent::Severity severity, const Device *forDevice = nullptr)
-
void discard(EventFilter filter = EventFilter())
-
inline size_t getEventLimit() const
-
void setEventLimit(size_t newLimit)
Public Static Functions
-
static EventManager &GetInstance()
-
inline ~EventManager()
-
struct ExtendedCommandHeader
- #include <command.h>
-
class ExtendedDataMessage : public icsneo::Frame
- #include <extendeddatamessage.h>
Public Functions
-
inline ExtendedDataMessage(ExtendedDataHeader params)
Public Members
-
const ExtendedDataHeader header
Public Static Attributes
-
static constexpr size_t MaxExtendedDataBufferSize = 2048
-
inline ExtendedDataMessage(ExtendedDataHeader params)
-
class ExtendedResponseFilter : public icsneo::MessageFilter
- #include <extendedresponsefilter.h>
-
class ExtendedResponseMessage : public icsneo::Message
- #include <extendedresponsemessage.h>
Public Functions
-
inline ExtendedResponseMessage(ExtendedCommand cmd, ExtendedResponse resp = ExtendedResponse::OK, const std::vector<uint8_t> &buf = {})
Public Members
-
const ExtendedCommand command
-
const ExtendedResponse response
-
std::vector<uint8_t> data
-
struct PackedGenericResponse
- #include <extendedresponsemessage.h>
-
struct ResponseHeader
- #include <extendedresponsemessage.h>
-
inline ExtendedResponseMessage(ExtendedCommand cmd, ExtendedResponse resp = ExtendedResponse::OK, const std::vector<uint8_t> &buf = {})
-
struct ExtResponseHeader
- #include <livedata.h>
-
struct FinalizePhase : public icsneo::BootloaderPhase
- #include <bootloaderpipeline.h>
Public Functions
-
inline virtual Type getType() const override
-
inline FinalizePhase(ChipID chip, BootloaderCommunication comm)
-
inline virtual Type getType() const override
-
class FirmIO : public icsneo::Driver
- #include <firmio.h>
Public Functions
-
inline FirmIO(const device_eventhandler_t &report)
-
~FirmIO()
-
virtual bool open() override
-
virtual bool isOpen() override
-
virtual bool close() override
-
inline virtual driver_finder_t getFinder() override
-
virtual bool writeInternal(const std::vector<uint8_t> &b) override
-
inline Driver(const device_eventhandler_t &handler)
Public Static Functions
-
static void Find(std::vector<FoundDevice> &foundDevices)
-
inline FirmIO(const device_eventhandler_t &report)
-
class FlashMemoryMessage : public icsneo::RawMessage
- #include <flashmemorymessage.h>
Public Functions
-
inline FlashMemoryMessage()
Public Members
-
uint16_t startAddress = 0
-
inline FlashMemoryMessage()
-
struct FlashPhase : public icsneo::BootloaderPhase
- #include <bootloaderpipeline.h>
Public Functions
-
inline virtual Type getType() const override
-
inline FlashPhase(ChipID chip, BootloaderCommunication comm, bool authenticate = true, bool encrypt = true, bool checkOutOfDate = true)
-
inline virtual Type getType() const override
-
class FlexRayControlMessage : public icsneo::Message
- #include <flexraycontrolmessage.h>
Public Members
-
bool decoded = false
-
uint8_t controller = 0xff
-
FlexRay::Opcode opcode = FlexRay::Opcode::Unknown
-
FlexRay::POCStatus pocStatus = FlexRay::POCStatus::Unknown
-
uint16_t slotCounterA = 0
-
uint16_t slotCounterB = 0
-
uint16_t macroTick = 0
-
uint16_t cycleCount = 0
-
uint32_t rateCorrection = 0
-
uint32_t offsetCorrection = 0
-
std::vector<uint32_t> registers
Public Static Functions
-
static std::vector<uint8_t> BuildBaseControlArgs(uint8_t controller, FlexRay::Opcode op, const std::vector<uint8_t> &args)
-
static std::vector<uint8_t> BuildReadCCRegsArgs(uint8_t controller, uint16_t startAddress, uint8_t numRegisters = 1)
-
static std::vector<uint8_t> BuildWriteCCRegArgs(uint8_t controller, uint16_t address, uint32_t value)
-
static std::vector<uint8_t> BuildAddConfiguredTxMessageArgs(uint8_t controller, uint16_t descriptionId, uint16_t slotId, uint8_t baseCycle, uint8_t cycleReps, FlexRay::Channel channel)
-
static std::vector<uint8_t> BuildWriteMessageBufferArgs(uint8_t controller, uint16_t bufferId, const std::vector<uint8_t> &data, uint16_t desiredSize)
-
bool decoded = false
-
class FlexRayMessage : public icsneo::Frame
- #include <flexraymessage.h>
Public Members
-
uint16_t slotid = 0
-
double tsslen = 0
-
double framelen = 0
-
FlexRay::Symbol symbol = FlexRay::Symbol::None
-
FlexRay::CRCStatus headerCRCStatus = FlexRay::CRCStatus::OK
-
uint16_t headerCRC = 0
-
FlexRay::CRCStatus crcStatus = FlexRay::CRCStatus::OK
-
uint32_t frameCRC = 0
-
FlexRay::Channel channel = FlexRay::Channel::None
-
bool nullFrame = false
-
bool reserved0was1 = false
-
bool payloadPreamble = false
-
bool sync = false
-
bool startup = false
-
bool dynamic = false
-
uint8_t cycle = 0
-
uint8_t cycleRepetition = 0
-
uint16_t slotid = 0
-
class FoundDevice
- #include <founddevice.h>
Public Members
-
neodevice_handle_t handle = 0
-
char serial[7] = {}
-
uint16_t productId = 0
-
driver_factory_t makeDriver
-
neodevice_handle_t handle = 0
-
class Frame : public icsneo::RawMessage
- #include <message.h>
Subclassed by icsneo::A2BMessage, icsneo::CANMessage, icsneo::EthernetMessage, icsneo::ExtendedDataMessage, icsneo::FlexRayMessage, icsneo::I2CMessage, icsneo::ISO9141Message, icsneo::LINMessage, icsneo::MDIOMessage, icsneo::SPIMessage
Public Functions
-
inline Frame()
-
inline Frame()
-
class GenericBinaryStatusMessage : public icsneo::Message
- #include <genericbinarystatusmessage.h>
Public Functions
-
inline GenericBinaryStatusMessage()
-
inline GenericBinaryStatusMessage()
-
struct GenericBinaryStatusPacket
- #include <genericbinarystatuspacket.h>
Public Static Functions
-
static std::shared_ptr<GenericBinaryStatusMessage> DecodeToMessage(const std::vector<uint8_t> &bytes)
-
static std::vector<uint8_t> EncodeArguments(uint16_t binaryIndex)
-
static std::shared_ptr<GenericBinaryStatusMessage> DecodeToMessage(const std::vector<uint8_t> &bytes)
-
class GPTPStatus : public icsneo::Message
- #include <gptpstatusmessage.h>
Public Functions
-
inline GPTPStatus()
Public Members
-
PriorityVector gmPriority
-
int64_t msOffsetNs
-
uint8_t isSync
-
uint8_t linkStatus
-
int64_t linkDelayNS
-
uint8_t selectedRole
-
uint8_t asCapable
-
uint8_t isSyntonized
-
bool shortFormat = false
Public Static Functions
-
static std::shared_ptr<GPTPStatus> DecodeToMessage(std::vector<uint8_t> &bytes, const device_eventhandler_t &report)
-
struct ClockQuality
- #include <gptpstatusmessage.h>
-
struct CurrentDS
- #include <gptpstatusmessage.h>
-
struct ParentDS
- #include <gptpstatusmessage.h>
-
struct PortID
- #include <gptpstatusmessage.h>
-
struct PriorityVector
- #include <gptpstatusmessage.h>
-
struct ScaledNanoSeconds
- #include <gptpstatusmessage.h>
-
struct SystemID
- #include <gptpstatusmessage.h>
-
inline GPTPStatus()
-
struct HardwareA2BPacket
- #include <a2bpacket.h>
Public Members
-
icscm_bitfield channelNum
-
icscm_bitfield channelSize16
-
icscm_bitfield __pad0__
-
icscm_bitfield monitor
-
icscm_bitfield txmsg
-
icscm_bitfield errIndicator
-
icscm_bitfield syncFrame
-
icscm_bitfield upstream
-
icscm_bitfield __pad1__
-
icscm_bitfield rfu2
-
struct icsneo::HardwareA2BPacket header
-
uint8_t offset[8]
-
uint16_t stats
-
uint64_t TS
-
uint64_t __pad0__
-
uint64_t IsExtended
-
struct icsneo::HardwareA2BPacket timestamp
-
uint16_t networkID
-
uint16_t length
Public Static Functions
-
static bool EncodeFromMessage(const A2BMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
Public Static Attributes
-
static const size_t a2bMessageMaxLength
-
icscm_bitfield channelNum
-
struct HardwareCANErrorPacket
- #include <canpacket.h>
-
struct HardwareCANPacket
- #include <canpacket.h>
Public Members
-
icscm_bitfield IDE
-
icscm_bitfield SRR
-
icscm_bitfield SID
-
icscm_bitfield EDL
-
icscm_bitfield BRS
-
icscm_bitfield ESI
-
struct icsneo::HardwareCANPacket header
-
icscm_bitfield EID
-
icscm_bitfield TXMSG
-
icscm_bitfield TXAborted
-
icscm_bitfield TXLostArb
-
icscm_bitfield TXError
-
struct icsneo::HardwareCANPacket eid
-
icscm_bitfield DLC
-
icscm_bitfield RB0
-
icscm_bitfield IVRIF
-
icscm_bitfield HVEnable
-
icscm_bitfield ExtendedNetworkIndexBit
-
icscm_bitfield RB1
-
icscm_bitfield RTR
-
icscm_bitfield EID2
-
struct icsneo::HardwareCANPacket dlc
-
unsigned char data[8]
-
uint16_t stats
-
uint64_t TS
-
uint64_t __pad0__
-
uint64_t IsExtended
-
struct icsneo::HardwareCANPacket timestamp
-
uint16_t NetworkID
-
uint16_t Length
Public Static Functions
-
static bool EncodeFromMessage(const CANMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
icscm_bitfield IDE
-
struct HardwareEthernetPacket
- #include <ethernetpacket.h>
Public Members
-
icscm_bitfield FCS_AVAIL
-
icscm_bitfield RUNT_FRAME
-
icscm_bitfield ENABLE_PADDING
-
icscm_bitfield PREEMPTION_ENABLED
-
icscm_bitfield MPACKET_TYPE
-
icscm_bitfield MPACKET_FRAG_CNT
-
icscm_bitfield UPDATE_CHECKSUMS
-
icscm_bitfield FCS_OVERRIDE
-
icscm_bitfield CRC_ERROR
-
icscm_bitfield FCS_VERIFIED
-
icscm_bitfield DISABLE_TX_RECEIPT
-
icscm_bitfield T1S_ETHERNET
-
struct icsneo::HardwareEthernetPacket header
-
icscm_bitfield txlen
-
icscm_bitfield TXMSG
-
icscm_bitfield TXAborted
-
icscm_bitfield T1S_SYMBOL
-
icscm_bitfield T1S_BURST
-
struct icsneo::HardwareEthernetPacket eid
-
icscm_bitfield TXCollision
-
icscm_bitfield T1SWake
-
icscm_bitfield __pad0__
-
struct icsneo::HardwareEthernetPacket t1s_status
-
icscm_bitfield T1S_BURST_COUNT
-
icscm_bitfield T1S_NODE_ID
-
struct icsneo::HardwareEthernetPacket t1s_node
-
uint8_t RESERVED[6]
-
uint16_t stats
-
uint64_t TS
-
uint64_t __pad0__
-
uint64_t IsExtended
-
struct icsneo::HardwareEthernetPacket timestamp
-
uint16_t NetworkID
-
uint16_t Length
Public Static Functions
-
static std::shared_ptr<EthernetMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
static bool EncodeFromMessage(const EthernetMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
icscm_bitfield FCS_AVAIL
-
struct HardwareEthernetPhyRegisterPacket
- #include <ethphyregpacket.h>
Public Static Functions
-
static std::shared_ptr<EthPhyMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
static bool EncodeFromMessage(const EthPhyMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
static std::shared_ptr<EthPhyMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
struct HardwareFlexRayPacket
- #include <flexraypacket.h>
Public Members
-
uint16_t slotid
-
uint16_t startup
-
uint16_t sync
-
uint16_t null_frame
-
uint16_t payload_preamble
-
uint16_t reserved_0
-
uint16_t hdr_crc_10
-
uint16_t payload_len
-
uint16_t reserved_1
-
uint16_t txmsg
-
uint16_t reserved_2
-
uint16_t cycle
-
uint16_t hdr_crc_9_0
-
uint16_t word
-
uint16_t bytesRxed
-
uint16_t dynamic
-
uint16_t chb
-
uint16_t hcrc_error
-
uint16_t fcrc_error
-
uint16_t reserved_3
-
struct icsneo::HardwareFlexRayPacket bits
-
union icsneo::HardwareFlexRayPacket statusBits
-
uint16_t tss_length_12_5ns
-
uint16_t frame_length_12_5ns
-
uint16_t extra
-
uint16_t stat
-
uint64_t TS
-
uint64_t __pad0__
-
uint64_t IsExtended
-
struct icsneo::HardwareFlexRayPacket timestamp
-
uint16_t NetworkID
-
uint16_t Length
Public Static Functions
-
static std::shared_ptr<FlexRayMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
static bool EncodeFromMessage(const FlexRayMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
uint16_t slotid
-
struct HardwareI2CPacket
- #include <i2cpacket.h>
Public Static Functions
-
static bool EncodeFromMessage(const I2CMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
static bool EncodeFromMessage(const I2CMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
class HardwareInfo : public icsneo::Message
- #include <hardwareinfo.h>
Public Functions
-
inline HardwareInfo()
-
struct Date
- #include <hardwareinfo.h>
-
struct Version
- #include <hardwareinfo.h>
-
inline HardwareInfo()
-
struct HardwareInfoPacket
- #include <hardwareinfopacket.h>
Public Static Functions
-
static std::shared_ptr<HardwareInfo> DecodeToMessage(const std::vector<uint8_t> &bytes)
-
static std::shared_ptr<HardwareInfo> DecodeToMessage(const std::vector<uint8_t> &bytes)
-
struct HardwareISO9141Packet
- #include <iso9141packet.h>
Public Members
-
icscm_bitfield options
-
icscm_bitfield networkIndex
-
struct icsneo::HardwareISO9141Packet c1
-
icscm_bitfield d10
-
struct icsneo::HardwareISO9141Packet c2
-
icscm_bitfield len
-
icscm_bitfield extendedNetworkIndexBit2
-
icscm_bitfield frm
-
icscm_bitfield init
-
icscm_bitfield extendedNetworkIndexBit
-
icscm_bitfield d11
-
struct icsneo::HardwareISO9141Packet c3
-
unsigned char data[8]
-
uint16_t stats
-
uint64_t TS
-
uint64_t __pad0__
-
uint64_t IsExtended
-
struct icsneo::HardwareISO9141Packet timestamp
Public Static Functions
-
static bool EncodeFromMessage(const ISO9141Message &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report, const Packetizer &packetizer)
-
class Decoder
- #include <iso9141packet.h>
Public Functions
-
std::shared_ptr<ISO9141Message> decodeToMessage(const std::vector<uint8_t> &bytestream)
-
std::shared_ptr<ISO9141Message> decodeToMessage(const std::vector<uint8_t> &bytestream)
-
icscm_bitfield options
-
struct HardwareLINPacket
- #include <linpacket.h>
Public Members
-
uint16_t ErrRxOnlyBreak
-
uint16_t ErrRxOnlyBreakSync
-
uint16_t ID
-
uint16_t NETWORKINDEX
-
uint8_t LINByte9
-
uint8_t ErrTxRxMismatch
-
uint8_t TxChkSumEnhanced
-
uint8_t TXCommander
-
uint8_t TXResponder
-
uint8_t ErrRxBreakNotZero
-
uint8_t ErrRxBreakTooShort
-
uint8_t ErrRxSyncNot55
-
uint8_t ErrRxDataGreater8
-
uint16_t len
-
uint16_t ExtendedNetworkIndexBit2
-
uint16_t UpdateResponderOnce
-
uint16_t HasUpdatedResponderOnce
-
uint16_t ExtendedNetworkIndexBit
-
uint16_t BusRecovered
-
uint16_t SyncFerr
-
uint16_t MidFerr
-
uint16_t ResponderByteFerr
-
uint16_t TxAborted
This transmit was aborted.
-
uint16_t BreakOnly
-
uint16_t __pad0__
-
struct icsneo::HardwareLINPacket CoreMiniBitsLIN
-
uint8_t data[8]
-
uint16_t stats
-
uint64_t timestamp
Public Static Functions
-
static bool EncodeFromMessage(LINMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
uint16_t ErrRxOnlyBreak
-
struct HardwareLiveDataPacket
- #include <livedatapacket.h>
Public Static Functions
-
static std::shared_ptr<Message> DecodeToMessage(const std::vector<uint8_t> &bytes, const device_eventhandler_t &report)
-
static bool EncodeFromMessage(LiveDataMessage &message, std::vector<uint8_t> &bytes, const device_eventhandler_t &report)
-
static std::shared_ptr<Message> DecodeToMessage(const std::vector<uint8_t> &bytes, const device_eventhandler_t &report)
-
struct HardwareMDIOPacket
- #include <mdiopacket.h>
Public Members
-
uint16_t PHY_ADDR
-
uint16_t ST
-
uint16_t OP
-
uint16_t ADVANCED_MODE
-
uint16_t TRANSMIT
-
uint16_t C45_DEVTYPE
-
uint16_t ERR_JOB_CANCELLED
-
uint16_t ERR_TIMEOUT
-
uint16_t ERR_INVALID_BUS
-
uint16_t ERR_INVALID_PHYADDR
-
uint16_t ERR_INVALID_REGADDR
-
uint16_t ERR_UNSUPPORTED_CLAUSE
-
uint16_t ERR_UNSUPPORTED_OPCODE
-
uint16_t ERR_OVERFLOW
-
uint16_t __pad0__
-
uint16_t REG_ADDR
-
struct icsneo::HardwareMDIOPacket header
-
uint8_t data[8]
-
uint16_t stats
-
uint64_t timestamp
-
uint16_t networkID
-
uint16_t length
Public Static Functions
-
static bool EncodeFromMessage(const MDIOMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
Public Static Attributes
-
static const size_t mdioDataSize
-
uint16_t PHY_ADDR
-
struct HardwareSPIPacket
- #include <spipacket.h>
Public Members
-
uint16_t frameLength
-
struct icsneo::HardwareSPIPacket header
-
uint8_t offset[12]
-
uint16_t stats
-
uint64_t TS
-
uint64_t __pad0__
-
uint64_t IsExtended
-
struct icsneo::HardwareSPIPacket timestamp
-
uint16_t networkID
-
uint16_t length
Public Static Functions
-
static bool EncodeFromMessage(const SPIMessage &message, std::vector<uint8_t> &bytestream, const device_eventhandler_t &report)
-
uint16_t frameLength
-
struct HardwareVersionPacket
- #include <versionpacket.h>
Public Static Functions
-
static std::shared_ptr<VersionMessage> DecodeMainToMessage(const std::vector<uint8_t> &bytestream)
-
static std::shared_ptr<VersionMessage> DecodeSecondaryToMessage(const std::vector<uint8_t> &bytestream)
-
static std::shared_ptr<VersionMessage> DecodeMainToMessage(const std::vector<uint8_t> &bytestream)
-
struct I2CHeader
- #include <i2cpacket.h>
Public Members
-
uint16_t ID
-
uint16_t EID
-
uint16_t CT
-
uint16_t DIR
-
uint16_t RESERVED_0
-
uint16_t TXMsg
-
uint16_t CBLen
-
uint16_t RESERVED_1
-
uint16_t TXTimeout
-
uint16_t TXNack
-
uint16_t TXAborted
-
uint16_t TXLostArb
-
uint16_t TXError
-
uint16_t RESERVED_2
-
uint8_t coreMiniMessageData[8]
-
uint16_t stats
-
uint64_t timestamp
-
uint16_t networkID
-
uint16_t length
-
uint16_t ID
-
class I2CMessage : public icsneo::Frame
- #include <i2cmessage.h>
Public Types
Public Members
-
bool isExtendedID = false
-
bool isTXMsg = false
-
bool txError = false
-
bool txLostArb = false
-
bool txAborted = false
-
bool txNack = false
-
bool txTimeout = false
-
uint16_t stats = static_cast<uint16_t>(0x0000u)
-
uint16_t address
-
DeviceMode deviceMode
-
std::vector<uint8_t> controlBytes
-
std::vector<uint8_t> dataBytes
-
bool isExtendedID = false
-
struct ICSClock
- #include <vsa.h>
Struct that meets Clock format requirements from STL Chrono library. Indicates time for for the ICS Epoch (January 1, 2007) in 25 nanosecond ticks.
Public Static Functions
-
static inline time_point now() noexcept
Get the time_point at the current time with respect to ICSClock
- Returns:
Time point at the current time with respect to ICSClock
Public Static Attributes
-
static constexpr bool is_steady = true
-
static inline time_point now() noexcept
-
class IDeviceSettings
- #include <idevicesettings.h>
Subclassed by icsneo::EtherBADGESettings, icsneo::NeoVIConnectSettings, icsneo::NeoVIFIRE2Settings, icsneo::NeoVIFIRE3FlexRaySettings, icsneo::NeoVIFIRE3Settings, icsneo::NeoVIFIRE3T1SLINSettings, icsneo::NeoVIFIRESettings, icsneo::NeoVIRED2Settings, icsneo::NullSettings, icsneo::RADA2BSettings, icsneo::RADComet3Settings, icsneo::RADCometSettings, icsneo::RADEpsilonSettings, icsneo::RADGalaxy2Settings, icsneo::RADGalaxySettings, icsneo::RADGeminiSettings, icsneo::RADGigastar2Settings, icsneo::RADGigastarSettings, icsneo::RADJupiterSettings, icsneo::RADMarsSettings, icsneo::RADMoon2Settings, icsneo::RADMoon3Settings, icsneo::RADMoonDuoSettings, icsneo::RADMoonT1SSettings, icsneo::RADPlutoSettings, icsneo::RADStar2Settings, icsneo::RADSupermoonSettings, icsneo::ValueCAN3Settings, icsneo::ValueCAN4IndustrialSettings, icsneo::ValueCAN4_1_2Settings, icsneo::ValueCAN4_4_2ELSettings, icsneo::VividCANSettings
Public Functions
-
inline virtual ~IDeviceSettings()
-
inline bool ok() const
-
virtual bool refresh()
-
virtual bool apply(bool temporary = false)
-
bool applyDefaults(bool temporary = false)
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
bool isTerminationSupportedFor(Network net) const
Check whether software switchable termination is supported for a given network on this device.
This does not check whether another network in the termination group has termination enabled, check canTerminationBeEnabledFor for that.
-
bool canTerminationBeEnabledFor(Network net) const
Check whether software switchable termination can currently be enabled for a given network. If another network in the group is already enabled, or if termination is not supported on this network, false is returned and an error will have been reported in icsneo::getLastError().
-
std::optional<bool> isTerminationEnabledFor(Network net) const
Check whether software switchable termination is currently enabled for a given network in the currently active device settings.
Note that if the termination status is set, but not yet applied to the device, the current device status will be reflected here rather than the pending status.
-
bool setTerminationFor(Network net, bool enabled)
Enable or disable software switchable termination for a given network.
All other networks in the termination group must be disabled prior to the call, but the change does not need to be applied to the device before enqueing the enable.
Returns true if the call was successful, otherwise an error will have been reported in icsneo::getLastError().
-
std::optional<bool> isCommanderResistorEnabledFor(Network net) const
Check whether software switchable commander resistor is currently enabled for a given network in the currently active device settings.
Returns true if the call was successful, otherwise an error will have been reported in icsneo::getLastError().
-
bool setCommanderResistorFor(Network net, bool resistor_on)
Enable or disable software switchable commander resistor for a given network.
Returns true if the call was successful, otherwise an error will have been reported in icsneo::getLastError().
-
std::optional<enum LINMode> getLINModeFor(Network net) const
Get LIN mode for a given network in the currently active device settings.
-
bool setLINModeFor(Network net, enum LINMode mode)
Set LIN mode for a given network.
Returns true if the call was successful, otherwise an error will have been reported in icsneo::getLastError().
-
std::optional<uint8_t> getLINCommanderResponseTimeFor(Network net) const
Get number of bit delays between commander ID and first responder byte for a given network in the currently active device settings.
-
bool setLINCommanderResponseTimeFor(Network net, uint8_t bits)
Set number of bit delays between commander ID and first responder byte for a given network
Returns true if the call was successful, otherwise an error will have been reported in icsneo::getLastError().
-
inline virtual bool setPhyMode(uint8_t index, AELinkMode mode)
Set PHY role (Master/Slave/Auto) for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use setPhyRoleFor() instead.
- Parameters:
index – Port index (0-based)
mode – Master/Slave/Auto role
- Returns:
true if successful
-
inline virtual bool setPhyEnable(uint8_t index, bool enable)
Enable/disable PHY for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use setPhyEnableFor() instead.
- Parameters:
index – Port index (0-based)
enable – True to enable, false to disable
- Returns:
true if successful
-
inline virtual bool setPhySpeed(uint8_t index, EthPhyLinkMode mode)
Set PHY link mode (speed and duplex) for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use setPhyLinkModeFor() instead.
- Parameters:
index – Port index (0-based)
mode – Link mode (speed + duplex combination)
- Returns:
true if successful
-
inline virtual std::optional<AELinkMode> getPhyMode(uint8_t index)
Get PHY role (Master/Slave/Auto) for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use getPhyRoleFor() instead.
- Parameters:
index – Port index (0-based)
- Returns:
Current role, or nullopt if not available
-
inline virtual std::optional<bool> getPhyEnable(uint8_t index)
Get PHY enable state for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use getPhyEnableFor() instead.
- Parameters:
index – Port index (0-based)
- Returns:
True if enabled, false if disabled, nullopt if not available
-
inline virtual std::optional<EthPhyLinkMode> getPhySpeed(uint8_t index)
Get PHY link mode (speed and duplex) for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use getPhyLinkModeFor() instead.
- Parameters:
index – Port index (0-based)
- Returns:
Current link mode, or nullopt if not available
-
inline virtual bool setPhyRoleFor(Network net, AELinkMode mode)
Set PHY role (Master/Slave/Auto) for network-based devices. For switch devices, use setPhyMode() with port index instead.
- Parameters:
net – Network ID
mode – Master/Slave/Auto role
- Returns:
true if successful
-
inline virtual bool setPhyEnableFor(Network net, bool enable)
Enable/disable PHY for network-based devices. For switch devices, use setPhyEnable() with port index instead.
- Parameters:
net – Network ID
enable – True to enable, false to disable
- Returns:
true if successful
-
inline virtual std::optional<AELinkMode> getPhyRoleFor(Network net) const
Get PHY role (Master/Slave/Auto) for network-based devices. For switch devices, use getPhyMode() with port index instead.
- Parameters:
net – Network ID
- Returns:
Current role, or nullopt if not available
-
inline virtual std::optional<bool> getPhyEnableFor(Network net) const
Get PHY enable state for network-based devices.
For switch devices, use getPhyEnable() with port index instead.
- Parameters:
net – Network ID
- Returns:
True if enabled, false if disabled, nullopt if not available
-
inline virtual std::vector<EthPhyLinkMode> getSupportedPhyLinkModesFor(Network net) const
Get supported PHY link modes (combined speed+duplex) for a network. Each mode represents a valid hardware configuration.
- Parameters:
net – The network to query
- Returns:
Vector of supported modes, empty if network doesn’t support PHY settings
-
inline virtual bool setPhyLinkModeFor(Network net, EthPhyLinkMode mode)
Set PHY link mode (speed and duplex together).
- Parameters:
net – The network to configure
mode – The link mode to set
- Returns:
true if successful, false if mode not supported or error occurred
-
inline virtual std::optional<EthPhyLinkMode> getPhyLinkModeFor(Network net) const
Get current PHY link mode.
- Parameters:
net – The network to query
- Returns:
Current link mode, or nullopt if not available or not configured
-
virtual bool setMiscIOAnalogOutputEnabled(uint8_t pin, bool enabled)
-
virtual bool setMiscIOAnalogOutput(uint8_t pin, MiscIOAnalogVoltage voltage)
-
inline const void *getRawStructurePointer() const
-
inline void *getMutableRawStructurePointer()
-
inline size_t getSize() const
-
inline size_t getSerialSize() const
Public Members
-
bool disabled = false
-
bool readonly = false
-
std::atomic<bool> applyingSettings = {false}
Public Static Functions
-
static std::optional<uint16_t> CalculateGSChecksum(const std::vector<uint8_t> &settings)
-
static CANBaudrate GetEnumValueForBaudrate(int64_t baudrate)
-
static int64_t GetBaudrateValueForEnum(CANBaudrate enumValue)
-
static bool ValidateLINBaudrate(int64_t baudrate)
Public Static Attributes
-
static constexpr uint16_t GS_VERSION = 5
-
inline virtual ~IDeviceSettings()
-
class IWAVStream
- #include <streamoutput.h>
-
class Lifetime
- #include <lifetime.h>
-
struct LINErrorFlags
- #include <linmessage.h>
Public Members
-
bool ErrRxBreakOnly = false
-
bool ErrRxBreakSyncOnly = false
-
bool ErrTxRxMismatch = false
-
bool ErrRxBreakNotZero = false
-
bool ErrRxBreakTooShort = false
-
bool ErrRxSyncNot55 = false
-
bool ErrRxDataLenOver8 = false
-
bool ErrFrameSync = false
-
bool ErrFrameMessageID = false
-
bool ErrFrameResponderData = false
-
bool ErrChecksumMatch = false
-
bool ErrRxBreakOnly = false
-
class LINMessage : public icsneo::Frame
- #include <linmessage.h>
Public Types
Public Functions
-
uint8_t calcProtectedID(uint8_t &id)
-
inline LINMessage()
-
inline LINMessage(uint8_t id)
Public Members
-
uint8_t ID = 0
-
uint8_t protectedID = 0
-
uint8_t checksum = 0
-
LINMessage::Type linMsgType = Type::NOT_SET
-
bool isEnhancedChecksum = false
-
LINErrorFlags errFlags
-
LINStatusFlags statusFlags
Public Static Functions
-
static void calcChecksum(LINMessage &message)
-
uint8_t calcProtectedID(uint8_t &id)
-
struct LINStatusFlags
- #include <linmessage.h>
-
struct LiveDataArgument
- #include <livedata.h>
Public Members
-
LiveDataObjectType objectType
-
uint32_t objectIndex
-
uint32_t signalIndex
-
LiveDataValueType valueType
-
LiveDataObjectType objectType
-
class LiveDataCommandMessage : public icsneo::LiveDataMessage
- #include <livedatamessage.h>
Public Functions
-
inline LiveDataCommandMessage()
-
void appendSignalArg(LiveDataValueType valueType)
Public Members
-
std::chrono::milliseconds updatePeriod
-
std::chrono::milliseconds expirationTime
-
std::vector<std::shared_ptr<LiveDataArgument>> args
-
inline LiveDataCommandMessage()
-
struct LiveDataHeader
- #include <livedata.h>
Subclassed by icsneo::LiveDataSetValue, icsneo::LiveDataStatusResponse, icsneo::LiveDataSubscribe, icsneo::LiveDataValueResponse
-
class LiveDataMessage : public icsneo::RawMessage
- #include <livedatamessage.h>
Subclassed by icsneo::LiveDataCommandMessage, icsneo::LiveDataSetValueMessage, icsneo::LiveDataStatusMessage, icsneo::LiveDataValueMessage
Public Functions
-
inline LiveDataMessage()
-
inline LiveDataMessage()
-
struct LiveDataSetValue : public icsneo::LiveDataHeader
- #include <livedata.h>
-
struct LiveDataSetValueEntry
- #include <livedata.h>
-
class LiveDataSetValueMessage : public icsneo::LiveDataMessage
- #include <livedatamessage.h>
Public Functions
-
inline LiveDataSetValueMessage()
-
void appendSetValue(LiveDataValueType valueType, const LiveDataValue &value)
Public Members
-
std::vector<std::shared_ptr<LiveDataArgument>> args
-
std::vector<std::shared_ptr<LiveDataValue>> values
-
inline LiveDataSetValueMessage()
-
class LiveDataStatusMessage : public icsneo::LiveDataMessage
- #include <livedatamessage.h>
Public Functions
-
inline LiveDataStatusMessage()
-
inline LiveDataStatusMessage()
-
struct LiveDataStatusResponse : public icsneo::LiveDataHeader
- #include <livedata.h>
-
struct LiveDataSubscribe : public icsneo::LiveDataHeader
- #include <livedata.h>
-
struct LiveDataValue
- #include <livedata.h>
-
struct LiveDataValueHeader
- #include <livedata.h>
-
class LiveDataValueMessage : public icsneo::LiveDataMessage
- #include <livedatamessage.h>
Public Functions
-
inline LiveDataValueMessage()
-
inline LiveDataValueMessage()
-
struct LiveDataValueResponse : public icsneo::LiveDataHeader
- #include <livedata.h>
-
class LogDataMessage : public icsneo::RawMessage
- #include <logdatamessage.h>
Public Functions
-
inline LogDataMessage(std::wstring logDataString)
Public Members
-
std::wstring logMessage
Public Static Functions
-
static std::shared_ptr<LogDataMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
inline LogDataMessage(std::wstring logDataString)
-
struct LogicalDiskInfoPacket
- #include <logicaldiskinfopacket.h>
Public Static Functions
-
static std::shared_ptr<LogicalDiskInfoMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
static std::shared_ptr<LogicalDiskInfoMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
class MACsecConfig
- #include <macseccfg.h>
Public Functions
-
MACsecConfig() = delete
-
MACsecConfig(const DeviceType &deviceType)
-
int addRxSecY(const MACsecRxSecY &secY, uint8_t saIndex)
-
int addTxSecY(const MACsecTxSecY &secY, uint8_t saIndex)
-
int addRxRule(const MACsecRxRule &rule, uint8_t secYIndex)
-
int addRxSa(const MACsecRxSa &sa)
-
int addTxSa(const MACsecTxSa &sa)
-
MACsecRxSecY &getRxSecY(uint8_t secYIndex)
-
const MACsecRxSecY &getRxSecY(uint8_t secYIndex) const
-
MACsecTxSecY &getTxSecY(uint8_t secYIndex)
-
const MACsecTxSecY &getTxSecY(uint8_t secYIndex) const
-
MACsecRxSa &getRxSa(uint8_t saIndex)
-
const MACsecRxSa &getRxSa(uint8_t saIndex) const
-
MACsecTxSa &getTxSa(uint8_t saIndex)
-
const MACsecTxSa &getTxSa(uint8_t saIndex) const
-
MACsecRxRule &getRxRule(uint8_t ruleIndex)
-
const MACsecRxRule &getRxRule(uint8_t ruleIndex) const
-
bool setTxSaIndex(uint8_t secYIndex, uint8_t saIndex)
-
bool enableTxRekey(uint8_t secYIndex, uint8_t rekeySaIndex)
-
bool setTxSaRekeyIndex(uint8_t secYIndex, uint8_t saIndex)
-
void disableTxRekey(uint8_t secYIndex)
-
bool setRxSaIndex(uint8_t secYIndex, uint8_t saIndex)
-
bool enableRxRekey(uint8_t secYIndex, uint8_t rekeySaIndex)
-
bool setRxSaRekeyIndex(uint8_t secYIndex, uint8_t saIndex)
-
void disableRxRekey(uint8_t secYIndex)
-
void setRxEnable(bool rxEnable)
-
void setTxEnable(bool txEnable)
-
void setStorage(bool temporary)
-
void clear()
-
std::vector<uint8_t> serialize() const
-
operator bool() const
-
uint16_t getBinIndex() const
-
DeviceType getType() const
-
uint8_t getMaxNumRule() const
-
uint8_t getMaxNumSecY() const
-
uint8_t getMaxNumSa() const
-
MACsecConfig() = delete
-
struct MACsecMPLSOuter
- #include <macseccfg.h>
-
struct MACsecRxRule
- #include <macseccfg.h>
Public Members
-
std::array<uint8_t, 6> keyMacDa = {0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu}
MAC DA field extracted from the packet
-
std::array<uint8_t, 6> maskMacDa = {0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu}
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
std::array<uint8_t, 6> keyMacSa = {0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu}
MAC SA field extracted from the packet
-
std::array<uint8_t, 6> maskMacSa = {0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu}
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
uint16_t keyEthertype = 0xFFFFu
First E-Type found in the packet that doesn’t match one of the preconfigured custom tag.
-
uint16_t maskEthertype = 0xFFFFu
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
MACsecVLANTag keyVlanTagOuter1
outermost/1st VLAN ID {8’d0, VLAN_ID[11:0]}, or 20-bit MPLS label.
-
MACsecMPLSOuter keyMplsOuter1
-
MACsecVLANTag maskVlanTagOuter1
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
MACsecMPLSOuter maskMplsOuter1
-
MACsecVLANTag keyVlanTagOuter2
2nd outermost VLAN ID {8’d0, VLAN_ID[11:0]}, or 20-bit MPLS label.
-
MACsecMPLSOuter keyMplsOuter2
-
MACsecVLANTag maskVlanTagOuter2
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
MACsecMPLSOuter maskMplsOuter2
-
uint16_t keyBonusData = 0xFFFFu
2 bytes of additional bonus data extracted from one of the custom tags.
-
uint16_t maskBonusData = 0xFFFFu
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
uint8_t keyTagMatchBitmap = 0xFFu
8 bits total. Maps 1 to 1 bitwise with the set of custom tags. (set bit[N]=1 if check Nth custom tag)
-
uint8_t maskTagMatchBitmap = 0xFFu
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
MACsecPacketType keyPacketType = MACsecPacketType::Default
Encoded Packet Type, see MACSEC_PACKET_TYPE
-
uint8_t maskPacketType = 0xFFu
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
uint16_t keyInnerVlanType = 0xFFFFu
3 bits total. Encoded value indicating which VLAN TPID value matched for the second outermost VLAN Tag.
-
uint16_t maskInnerVlanType = 0xFFFFu
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
uint16_t keyOuterVlanType = 0xFFFFu
3 bits total. Encoded value indicating which VLAN TPID value matched for the outermost VLAN Tag.
-
uint16_t maskOuterVlanType = 0xFFFFu
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
uint8_t keyNumTags = 0xFFu
7 bits total. Number of VLAN/custom tags or MPLS lables detected. Ingress: before SecTag; Egress: total detected. Exclude MCS header tags. i.e. Bit 2: 2 tags/labels before SecTAG…Bit 6: 6 or more tags/labels before SecTAG.
-
uint8_t maskNumTags = 0xFFu
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
bool keyExpress = true
1 bits. Express packet.
-
bool maskExpress = true
Set bits to 1 to mask/exclude corresponding flowid_tcam_data bit from compare
-
bool isMpls = false
-
std::array<uint8_t, 6> keyMacDa = {0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu, 0xFFu}
-
struct MACsecRxSa
- #include <macseccfg.h>
Public Members
-
std::array<uint8_t, 32> sak = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}
SAK: For AES-256 fill all 32 bytes. For AES-128 fill only bytes [0..15]; serialize() will mirror them into [16..31] as required by the firmware.
-
std::array<uint8_t, 16> hashKey = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}
128b Hash Key: Key used for authentication.
-
std::array<uint8_t, 12> salt = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}
96b Salt value: Salt value used in XPN ciphers.
-
uint32_t ssci = 0x01u
32b SSCI value: Short Secure Channel Identifier, used in XPN ciphers.
-
uint8_t an = 0x00u
2b SecTag Association Number (AN). SA will be placed at this index (0-3).
-
uint64_t nextPn = 0x01u
64b next_pn value: Next packet number to insert into outgoing packet on a particular SA.
-
bool enabled = false
Set by addRxSa(); slots created by internal padding during sparse placement are left disabled. Do not set this directly.
-
std::array<uint8_t, 32> sak = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}
-
struct MACsecRxSecY
- #include <macseccfg.h>
Public Members
-
bool enableControlPort = true
Enable (or disable) operation of the Controlled port associated with this SecY
-
MACsecValidation frameValidation = MACsecValidation::Strict
see MACSEC_VALIDATEFRAME
-
MACsecStrip frameStrip = MACsecStrip::NoStrip
see MACSEC_STRIP_SECTAG_ICV
-
MACsecCipherSuite cipher = MACsecCipherSuite::GcmAes128
Define the cipher suite to use for this SecY see MACSEC_CIPHER_SUITE
-
uint8_t confidentialityOffset = 0
Define the number of bytes that are unencrypted following the SecTag.
-
bool icvIncludesDaSa = true
When set, the outer DA/SA bytes are included in the authentication GHASH calculation
-
bool replayProtect = true
Enables Anti-Replay protection
-
uint32_t replayWindow = 1
Unsigned value indicating the size of the anti-replay window.
-
bool isControlPacket = false
Identifies all packets matching this index lookup as control packets.
-
uint64_t sci
-
bool enableControlPort = true
-
struct MACsecTci
- #include <macseccfg.h>
-
struct MACsecTxSa
- #include <macseccfg.h>
Public Members
-
std::array<uint8_t, 32> sak = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}
SAK: For AES-256 fill all 32 bytes. For AES-128 fill only bytes [0..15]; serialize() will mirror them into [16..31] as required by the firmware.
-
std::array<uint8_t, 16> hashKey = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}
128b Hash Key: Key used for authentication.
-
std::array<uint8_t, 12> salt = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}
96b Salt value: Salt value used in XPN ciphers.
-
uint32_t ssci = 0x01u
32b SSCI value: Short Secure Channel Identifier, used in XPN ciphers.
-
uint8_t an = 0x00
-
uint64_t nextPn = 0x01u
2b SecTag Association Number (AN) 64b next_pn value: Next packet number to insert into outgoing packet on a particular SA.
-
std::array<uint8_t, 32> sak = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u}
-
struct MACsecTxSecY
- #include <macseccfg.h>
Public Members
-
bool enableControlPort = true
Enable (or disable) operation of the Controlled port associated with this SecY
-
MACsecCipherSuite cipher = MACsecCipherSuite::GcmAes128
Define the cipher suite to use for this SecY see MACSEC_CIPHER_SUITE
-
uint8_t confidentialityOffset = 0
Define the number of bytes that are unencrypted following the SecTag.
-
bool icvIncludesDaSa = true
When set, the outer DA/SA bytes are included in the authentication GHASH calculation
-
bool protectFrames = true
0 = do not encrypt or authenticate this packet; 1 = always Authenticate frame and if SecTag.TCI.E = 1 encrypt the packet as well.
-
uint8_t secTagOffset = 12
Define the offset in bytes from either the start of the packet or a matching Etype depending on SecTag_Insertion_Mode.
-
MACsecTci tci
Tag Control Information excluding the AN field which originates from the SA Policy table
-
uint16_t mtu = 0xFFFFu
Specifies the outgoing MTU for this SecY
-
bool isControlPacket = false
Identifies all packets matching this index lookup as control packets.
-
uint8_t auxiliaryPolicy = 0u
Auxiliary policy bits.
-
uint64_t sci = 0x1122334455660001u
-
bool enableControlPort = true
-
struct MACsecVLANTag
- #include <macseccfg.h>
-
class Main51Message : public icsneo::RawMessage
- #include <main51message.h>
Subclassed by icsneo::SerialNumberMessage
Public Functions
-
inline Main51Message()
-
inline Main51Message()
-
class Main51MessageCallback : public icsneo::MessageCallback
- #include <main51messagecallback.h>
Public Functions
-
inline Main51MessageCallback(fn_messageCallback cb, Main51MessageFilter f = Main51MessageFilter())
-
inline Main51MessageCallback(Main51MessageFilter f, fn_messageCallback cb)
-
inline Main51MessageCallback(fn_messageCallback cb, Main51MessageFilter f = Main51MessageFilter())
-
class Main51MessageFilter : public icsneo::MessageFilter
- #include <main51messagefilter.h>
-
class Message
- #include <message.h>
Subclassed by icsneo::ClientIdMessage, icsneo::ComponentVersionsMessage, icsneo::EthPhyMessage, icsneo::EthernetStatusMessage, icsneo::ExtendedResponseMessage, icsneo::FlexRayControlMessage, icsneo::GPTPStatus, icsneo::GenericBinaryStatusMessage, icsneo::HardwareInfo, icsneo::LogicalDiskInfoMessage, icsneo::NetworkMutexMessage, icsneo::RawMessage, icsneo::ResetStatusMessage, icsneo::ScriptStatusMessage, icsneo::SupportedFeaturesMessage, icsneo::TC10StatusMessage, icsneo::VersionMessage, icsneo::WiVI::ResponseMessage
Public Types
-
enum class Type : neomessagetype_t
Values:
-
enumerator Frame
-
enumerator CANErrorCount
-
enumerator CANError
-
enumerator LINHeaderOnly
-
enumerator LINBreak
-
enumerator Invalid
-
enumerator RawMessage
-
enumerator ReadSettings
-
enumerator ResetStatus
-
enumerator DeviceVersion
-
enumerator Main51
-
enumerator FlexRayControl
-
enumerator EthernetPhyRegister
-
enumerator LogicalDiskInfo
-
enumerator ExtendedResponse
-
enumerator WiVICommandResponse
-
enumerator ScriptStatus
-
enumerator ComponentVersions
-
enumerator SupportedFeatures
-
enumerator GenericBinaryStatus
-
enumerator LiveData
-
enumerator HardwareInfo
-
enumerator TC10Status
-
enumerator AppError
-
enumerator GPTPStatus
-
enumerator EthernetStatus
-
enumerator LogData
-
enumerator NetworkMutex
-
enumerator ClientId
-
enumerator Frame
-
enum class Type : neomessagetype_t
-
class MessageCallback
- #include <messagecallback.h>
Subclassed by icsneo::CANMessageCallback, icsneo::Main51MessageCallback, icsneo::StreamOutput
Public Functions
-
inline MessageCallback(fn_messageCallback cb, MessageFilter f = MessageFilter())
-
inline MessageCallback(MessageFilter f, fn_messageCallback cb)
-
virtual ~MessageCallback() = default
-
inline const MessageFilter &getFilter() const
-
inline const fn_messageCallback &getCallback() const
-
inline MessageCallback(fn_messageCallback cb, MessageFilter f = MessageFilter())
-
class MessageFilter
- #include <messagefilter.h>
Subclassed by icsneo::CANMessageFilter, icsneo::ExtendedResponseFilter, icsneo::Main51MessageFilter
Public Members
-
bool includeInternalInAny = false
-
bool includeInternalInAny = false
-
class MultiChannelCommunication : public icsneo::Communication
- #include <multichannelcommunication.h>
Public Types
-
enum class CommandType : uint8_t
Values:
-
enumerator PlasmaReadRequest
-
enumerator PlasmaStatusResponse
-
enumerator HostPC_to_Vnet1
-
enumerator Vnet1_to_HostPC
-
enumerator HostPC_to_Vnet2
-
enumerator Vnet2_to_HostPC
-
enumerator HostPC_to_Vnet3
-
enumerator Vnet3_to_HostPC
-
enumerator HostPC_to_SDCC1
-
enumerator HostPC_from_SDCC1
-
enumerator SDCC1_to_HostPC
-
enumerator HostPC_to_SDCC2
-
enumerator HostPC_from_SDCC2
-
enumerator SDCC2_to_HostPC
-
enumerator PC_to_LSOC
-
enumerator LSOCC_to_PC
-
enumerator HostPC_to_Microblaze
-
enumerator Microblaze_to_HostPC
-
enumerator PlasmaReadRequest
Public Functions
-
MultiChannelCommunication(device_eventhandler_t err, std::unique_ptr<Driver> com, std::function<std::unique_ptr<Packetizer>()> makeConfiguredPacketizer, std::unique_ptr<Encoder> e, std::unique_ptr<Decoder> md, size_t vnetCount)
-
virtual void spawnThreads() override
-
virtual void joinThreads() override
-
virtual bool sendPacket(std::vector<uint8_t> &bytes) override
-
enum class CommandType : uint8_t
-
class NeoOBD2PRO : public icsneo::Device
- #include <neoobd2pro.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoOBD2PRO, DeviceType::OBD2_PRO, "NP")
-
inline virtual ProductID getProductID() const override
-
class NeoOBD2SIM : public icsneo::Device
- #include <neoobd2sim.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoOBD2SIM, DeviceType::OBD2_SIM, "OS")
-
inline virtual ProductID getProductID() const override
-
class NeoReadMemorySDMessage : public icsneo::RawMessage
- #include <neoreadmemorysdmessage.h>
Public Functions
-
inline NeoReadMemorySDMessage()
Public Members
-
uint32_t startAddress = 0
-
inline NeoReadMemorySDMessage()
-
class NeoVIConnect : public icsneo::Device
- #include <neoviconnect.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoVIConnect, DeviceType::Connect, "DM")
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct neoviconnect_settings_t
- #include <neoviconnectsettings.h>
Public Members
-
uint16_t perf_en
-
uint16_t network_enabled_on_boot
-
uint16_t misc_io_on_report_events
-
uint16_t pwr_man_enable
-
int16_t iso15765_separation_time_offset
-
uint16_t reservedA
-
uint32_t pwr_man_timeout
-
uint64_t network_enables
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
LIN_SETTINGS lin1
-
LIN_SETTINGS lin2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings
-
uint16_t iso_parity
-
uint16_t iso_msg_termination
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
uint16_t iso_msg_termination_2
-
ETHERNET_SETTINGS ethernet_1
-
ETHERNET_SETTINGS2 ethernet2_1
-
STextAPISettings text_api
-
DISK_SETTINGS disk
-
uint16_t misc_io_report_period
-
uint16_t ain_threshold
-
uint16_t misc_io_analog_enable
-
uint16_t digitalIoThresholdTicks
-
uint16_t digitalIoThresholdEnable
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
Fire3LinuxSettings os_settings
-
RAD_GPTP_SETTINGS gPTP
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t enableDefaultLogger
-
uint32_t enableDefaultUpload
-
uint32_t reserved3
-
struct icsneo::neoviconnect_settings_t flags
-
uint16_t perf_en
-
struct neoviconnect_status_t
- #include <neoviconnectsettings.h>
-
class NeoVIConnectSettings : public icsneo::IDeviceSettings
- #include <neoviconnectsettings.h>
-
class NeoVIFIRE2 : public icsneo::Device
- #include <neovifire2.h>
Public Types
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoVIFIRE2, DeviceType::FIRE2, "CY")
-
inline virtual std::string getProductName() const override
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual size_t getUSBHostPowerCount() const override
Retrieve the number of power-controlled USB Host ports present on this device.
-
inline virtual bool getBackupPowerSupported() const override
Tell whether the current device supports controlling a backup power source through the API.
-
inline virtual std::vector<MiscIO> getMiscIO() const override
Retrieve the information about the misc IOs present on this device.
-
inline virtual std::vector<MiscIO> getEMiscIO() const override
Retrieve the information about the emisc IOs present on this device.
-
inline virtual ProductID getProductID() const override
-
inline CoreChipVariant getCoreChipVariant()
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
inline virtual bool supportsSwVersionValidate() const override
-
inline virtual std::vector<VersionReport> getChipVersions(bool refreshComponents = true) override
-
struct neovifire2_settings_t
- #include <neovifire2settings.h>
Public Members
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
SWCAN_SETTINGS swcan1
-
uint16_t network_enables
-
SWCAN_SETTINGS swcan2
-
uint16_t network_enables_2
-
CAN_SETTINGS lsftcan1
-
CAN_SETTINGS lsftcan2
-
LIN_SETTINGS lin1
-
uint16_t misc_io_initial_ddr
-
LIN_SETTINGS lin2
-
uint16_t misc_io_initial_latch
-
LIN_SETTINGS lin3
-
uint16_t misc_io_report_period
-
LIN_SETTINGS lin4
-
uint16_t misc_io_on_report_events
-
LIN_SETTINGS lin5
-
uint16_t misc_io_analog_enable
-
uint16_t ain_sample_period
-
uint16_t ain_threshold
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
uint16_t iso15765_separation_time_offset
-
uint16_t iso_9141_kwp_enable_reserved
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_3
-
uint16_t iso_parity_3
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_4
-
uint16_t iso_parity_4
-
uint16_t iso_msg_termination_1
-
uint16_t iso_msg_termination_2
-
uint16_t iso_msg_termination_3
-
uint16_t iso_msg_termination_4
-
uint16_t idle_wakeup_network_enables_1
-
uint16_t idle_wakeup_network_enables_2
-
uint16_t network_enables_3
-
uint16_t idle_wakeup_network_enables_3
-
uint16_t can_switch_mode
-
STextAPISettings text_api
-
uint64_t termination_enables
-
LIN_SETTINGS lin6
-
ETHERNET_SETTINGS ethernet
-
uint16_t slaveVnetA
-
uint16_t slaveVnetB
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t busMessagesToAndroid
-
uint32_t enablePcEthernetComm
-
uint32_t enableDefaultLogger
-
uint32_t enableDefaultUpload
-
uint32_t reserved
-
struct icsneo::neovifire2_settings_t flags
-
uint16_t digitalIoThresholdTicks
-
uint16_t digitalIoThresholdEnable
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSync
-
DISK_SETTINGS disk
-
ETHERNET_SETTINGS2 ethernet2
-
uint16_t perf_en
-
struct neovifire2_status_t
- #include <neovifire2settings.h>
-
class NeoVIFIRE2Settings : public icsneo::IDeviceSettings
- #include <neovifire2settings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class NeoVIFIRE3 : public icsneo::Device
- #include <neovifire3.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoVIFIRE3, DeviceType::FIRE3, "ON")
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct neovifire3_settings_t
- #include <neovifire3settings.h>
Public Members
-
uint16_t perf_en
-
uint16_t network_enabled_on_boot
-
uint16_t misc_io_on_report_events
-
uint16_t pwr_man_enable
-
int16_t iso15765_separation_time_offset
-
uint16_t slaveVnetA
-
uint32_t reserved
-
uint64_t termination_enables
-
uint64_t word
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
uint16_t network_enables_4
-
union icsneo::neovifire3_settings_t network_enables
-
uint32_t pwr_man_timeout
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
LIN_SETTINGS lin1
-
LIN_SETTINGS lin2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
uint16_t iso_msg_termination_2
-
ETHERNET_SETTINGS ethernet_1
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSync
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t busMessagesToAndroid
-
uint32_t reserved1
-
uint32_t enableDefaultLogger
-
uint32_t enableDefaultUpload
-
struct icsneo::neovifire3_settings_t flags
-
DISK_SETTINGS disk
-
uint16_t misc_io_report_period
-
uint16_t ain_threshold
-
uint16_t misc_io_analog_enable
-
uint16_t digitalIoThresholdTicks
-
uint16_t digitalIoThresholdEnable
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
ETHERNET_SETTINGS2 ethernet2_1
-
ETHERNET_SETTINGS ethernet_2
-
ETHERNET_SETTINGS2 ethernet2_2
-
Fire3LinuxSettings os_settings
-
RAD_GPTP_SETTINGS gPTP
-
CAN_SETTINGS can9
-
CANFD_SETTINGS canfd9
-
CAN_SETTINGS can10
-
CANFD_SETTINGS canfd10
-
CAN_SETTINGS can11
-
CANFD_SETTINGS canfd11
-
CAN_SETTINGS can12
-
CANFD_SETTINGS canfd12
-
CAN_SETTINGS can13
-
CANFD_SETTINGS canfd13
-
CAN_SETTINGS can14
-
CANFD_SETTINGS canfd14
-
CAN_SETTINGS can15
-
CANFD_SETTINGS canfd15
-
CAN_SETTINGS can16
-
CANFD_SETTINGS canfd16
-
SWCAN_SETTINGS swcan1
-
SWCAN_SETTINGS swcan2
-
CAN_SETTINGS lsftcan1
-
CAN_SETTINGS lsftcan2
-
ETHERNET_SETTINGS ethernet_3
-
ETHERNET_SETTINGS2 ethernet2_3
-
LIN_SETTINGS lin3
-
LIN_SETTINGS lin4
-
LIN_SETTINGS lin5
-
LIN_SETTINGS lin6
-
LIN_SETTINGS lin7
-
LIN_SETTINGS lin8
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_3
-
uint16_t iso_parity_3
-
uint16_t iso_msg_termination_3
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_4
-
uint16_t iso_parity_4
-
uint16_t iso_msg_termination_4
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_5
-
uint16_t iso_parity_5
-
uint16_t iso_msg_termination_5
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_6
-
uint16_t iso_parity_6
-
uint16_t iso_msg_termination_6
-
uint16_t selectable_network_1
-
uint16_t selectable_network_2
-
uint64_t network_enables_2
-
uint64_t termination_enables_2
-
uint16_t iso_tester_pullup_enable
-
CMP_GLOBAL_DATA cmp_global_data
-
CMP_NETWORK_DATA cmp_stream_data[CMP_STREAMS_FIRE3]
-
uint32_t networkTimeSync
-
uint16_t perf_en
-
struct neovifire3_status_t
- #include <neovifire3settings.h>
-
class NeoVIFIRE3FlexRay : public icsneo::Device
- #include <neovifire3flexray.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoVIFIRE3FlexRay, DeviceType::FIRE3_FlexRay, "FF")
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct neovifire3flexray_settings_t
- #include <neovifire3flexraysettings.h>
Public Members
-
uint16_t perf_en
-
uint16_t network_enabled_on_boot
-
uint16_t misc_io_on_report_events
-
uint16_t pwr_man_enable
-
int16_t iso15765_separation_time_offset
-
uint16_t slaveVnetA
-
uint32_t reserved
-
uint64_t termination_enables
-
uint64_t word
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
uint16_t network_enables_4
-
union icsneo::neovifire3flexray_settings_t network_enables
-
uint32_t pwr_man_timeout
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
LIN_SETTINGS lin1
-
LIN_SETTINGS lin2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
uint16_t iso_msg_termination_2
-
ETHERNET_SETTINGS ethernet_1
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSync
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t busMessagesToAndroid
-
uint32_t reserved1
-
uint32_t enableDefaultLogger
-
uint32_t enableDefaultUpload
-
struct icsneo::neovifire3flexray_settings_t flags
-
DISK_SETTINGS disk
-
uint16_t misc_io_report_period
-
uint16_t ain_threshold
-
uint16_t misc_io_analog_enable
-
uint16_t digitalIoThresholdTicks
-
uint16_t digitalIoThresholdEnable
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
ETHERNET_SETTINGS2 ethernet2_1
-
ETHERNET_SETTINGS ethernet_2
-
ETHERNET_SETTINGS2 ethernet2_2
-
Fire3LinuxSettings os_settings
-
RAD_GPTP_SETTINGS gPTP
-
CAN_SETTINGS can9
-
CANFD_SETTINGS canfd9
-
CAN_SETTINGS can10
-
CANFD_SETTINGS canfd10
-
CAN_SETTINGS can11
-
CANFD_SETTINGS canfd11
-
CAN_SETTINGS can12
-
CANFD_SETTINGS canfd12
-
CAN_SETTINGS can13
-
CANFD_SETTINGS canfd13
-
CAN_SETTINGS can14
-
CANFD_SETTINGS canfd14
-
CAN_SETTINGS can15
-
CANFD_SETTINGS canfd15
-
ETHERNET_SETTINGS ethernet_3
-
ETHERNET_SETTINGS2 ethernet2_3
-
LIN_SETTINGS lin3
-
LIN_SETTINGS lin4
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_3
-
uint16_t iso_parity_3
-
uint16_t iso_msg_termination_3
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_4
-
uint16_t iso_parity_4
-
uint16_t iso_msg_termination_4
-
uint64_t network_enables_2
-
uint64_t termination_enables_2
-
uint16_t flex_mode
-
uint16_t flex_termination
-
uint16_t iso_tester_pullup_enable
-
CMP_GLOBAL_DATA cmp_global_data
-
CMP_NETWORK_DATA cmp_stream_data[CMP_STREAMS_FIRE3FR]
-
uint32_t networkTimeSync
-
uint16_t perf_en
-
struct neovifire3flexray_status_t
- #include <neovifire3flexraysettings.h>
-
class NeoVIFIRE3FlexRaySettings : public icsneo::IDeviceSettings
- #include <neovifire3flexraysettings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class NeoVIFIRE3Settings : public icsneo::IDeviceSettings
- #include <neovifire3settings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<EthPhyLinkMode> getSupportedPhyLinkModesFor(Network net) const override
Get supported PHY link modes (combined speed+duplex) for a network. Each mode represents a valid hardware configuration.
- Parameters:
net – The network to query
- Returns:
Vector of supported modes, empty if network doesn’t support PHY settings
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class NeoVIFIRE3T1SLIN : public icsneo::Device
- #include <neovifire3t1slin.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoVIFIRE3T1SLIN, DeviceType::FIRE3_T1S_LIN, "FT")
-
inline virtual bool supportsTC10() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct neovifire3t1slin_settings_t
- #include <neovifire3t1slinsettings.h>
Public Members
-
uint16_t perf_en
-
uint16_t network_enabled_on_boot
-
uint16_t misc_io_on_report_events
-
uint16_t pwr_man_enable
-
int16_t iso15765_separation_time_offset
-
uint16_t slaveVnetA
-
uint32_t reserved
-
uint64_t termination_enables
-
uint64_t network_enables
-
uint32_t pwr_man_timeout
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
LIN_SETTINGS lin1
-
LIN_SETTINGS lin2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
uint16_t iso_msg_termination_2
-
ETHERNET_SETTINGS ethernet_1
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSync
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t busMessagesToAndroid
-
uint32_t reserved1
-
uint32_t enableDefaultLogger
-
uint32_t enableDefaultUpload
-
struct icsneo::neovifire3t1slin_settings_t flags
-
DISK_SETTINGS disk
-
uint16_t misc_io_report_period
-
uint16_t ain_threshold
-
uint16_t misc_io_analog_enable
-
uint16_t digitalIoThresholdTicks
-
uint16_t digitalIoThresholdEnable
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
ETHERNET_SETTINGS2 ethernet2_1
-
ETHERNET_SETTINGS ethernet_2
-
ETHERNET_SETTINGS2 ethernet2_2
-
Fire3LinuxSettings os_settings
-
RAD_GPTP_SETTINGS gPTP
-
ETHERNET_SETTINGS2 ethT1s1
-
ETHERNET10T1S_SETTINGS t1s1
-
ETHERNET10T1S_SETTINGS_EXT t1s1Ext
-
ETHERNET_SETTINGS2 ethT1s2
-
ETHERNET10T1S_SETTINGS t1s2
-
ETHERNET10T1S_SETTINGS_EXT t1s2Ext
-
ETHERNET_SETTINGS2 ethT1s3
-
ETHERNET10T1S_SETTINGS t1s3
-
ETHERNET10T1S_SETTINGS_EXT t1s3Ext
-
ETHERNET_SETTINGS2 ethT1s4
-
ETHERNET10T1S_SETTINGS t1s4
-
ETHERNET10T1S_SETTINGS_EXT t1s4Ext
-
ETHERNET_SETTINGS2 ethT1s5
-
ETHERNET10T1S_SETTINGS t1s5
-
ETHERNET10T1S_SETTINGS_EXT t1s5Ext
-
ETHERNET_SETTINGS2 ethT1s6
-
ETHERNET10T1S_SETTINGS t1s6
-
ETHERNET10T1S_SETTINGS_EXT t1s6Ext
-
ETHERNET_SETTINGS2 ethT1s7
-
ETHERNET10T1S_SETTINGS t1s7
-
ETHERNET10T1S_SETTINGS_EXT t1s7Ext
-
ETHERNET_SETTINGS2 ethT1s8
-
ETHERNET10T1S_SETTINGS t1s8
-
ETHERNET10T1S_SETTINGS_EXT t1s8Ext
-
LIN_SETTINGS lin3
-
LIN_SETTINGS lin4
-
LIN_SETTINGS lin5
-
LIN_SETTINGS lin6
-
LIN_SETTINGS lin7
-
LIN_SETTINGS lin8
-
LIN_SETTINGS lin9
-
LIN_SETTINGS lin10
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_3
-
uint16_t iso_parity_3
-
uint16_t iso_msg_termination_3
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_4
-
uint16_t iso_parity_4
-
uint16_t iso_msg_termination_4
-
uint16_t iso_tester_pullup_enable
-
uint64_t network_enables_5
-
CMP_GLOBAL_DATA cmp_global_data
-
CMP_NETWORK_DATA cmp_stream_data[CMP_STREAMS_FIRE3T1SLIN]
-
uint32_t networkTimeSync
-
uint16_t perf_en
-
struct neovifire3t1slin_status_t
- #include <neovifire3t1slinsettings.h>
-
class NeoVIFIRE3T1SLINSettings : public icsneo::IDeviceSettings
- #include <neovifire3t1slinsettings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
struct neovifire_settings_t
- #include <neovifiresettings.h>
Public Members
-
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
-
uint16_t cgi_enable_reserved
-
uint16_t cgi_baud
-
uint16_t cgi_tx_ifs_bit_times
-
uint16_t cgi_rx_ifs_bit_times
-
uint16_t cgi_chksum_enable
-
uint16_t network_enables
-
uint16_t network_enabled_on_boot
-
uint32_t pwm_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
uint16_t misc_io_analog_enable
-
uint16_t misc_io_report_period
-
uint16_t misc_io_on_report_events
-
uint16_t ain_sample_period
-
uint16_t ain_threshold
-
uint16_t iso15765_separation_time_offset
-
uint16_t iso9141_kwp_enable_reserved
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings
-
uint16_t perf_en
-
uint16_t iso_parity
-
uint16_t iso_msg_termination
-
uint16_t iso_tester_pullup_enable
-
uint16_t network_enables_2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
uint16_t iso_msg_termination_2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_3
-
uint16_t iso_parity_3
-
uint16_t iso_msg_termination_3
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_4
-
uint16_t iso_parity_4
-
uint16_t iso_msg_termination_4
-
uint16_t fast_init_network_enables_1
-
uint16_t fast_init_network_enables_2
-
UART_SETTINGS uart
-
UART_SETTINGS uart2
-
STextAPISettings text_api
-
SNeoMostGatewaySettings neoMostGateway
-
uint16_t vnetBits
-
CAN_SETTINGS can1
-
class NeoVIFIRESettings : public icsneo::IDeviceSettings
- #include <neovifiresettings.h>
Public Functions
-
class NeoVIION : public icsneo::Plasion
- #include <neoviion.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoVIION, DeviceType::ION, "40")
-
inline virtual ProductID getProductID() const override
-
class NeoVIPLASMA : public icsneo::Plasion
- #include <neoviplasma.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoVIPLASMA, DeviceType::PLASMA, "30")
-
inline virtual ProductID getProductID() const override
-
class NeoVIRED2 : public icsneo::Device
- #include <neovired2.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (NeoVIRED2, DeviceType::RED2, "D2")
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct neovired2_settings_t
- #include <neovired2settings.h>
Public Members
-
uint16_t perf_en
-
uint16_t network_enabled_on_boot
-
uint16_t misc_io_on_report_events
-
uint16_t pwr_man_enable
-
int16_t iso15765_separation_time_offset
-
uint16_t slaveVnetA
-
uint32_t reserved
-
uint64_t termination_enables
-
uint64_t word
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
union icsneo::neovired2_settings_t network_enables
-
uint32_t pwr_man_timeout
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
LIN_SETTINGS lin1
-
LIN_SETTINGS lin2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
uint16_t iso_msg_termination_2
-
ETHERNET_SETTINGS ethernet
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSync
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t busMessagesToAndroid
-
uint32_t enablePcEthernetComm
-
uint32_t enableDefaultLogger
-
uint32_t enableDefaultUpload
-
struct icsneo::neovired2_settings_t flags
-
DISK_SETTINGS disk
-
uint16_t misc_io_report_period
-
uint16_t ain_threshold
-
uint16_t misc_io_analog_enable
-
uint16_t digitalIoThresholdTicks
-
uint16_t digitalIoThresholdEnable
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
ETHERNET_SETTINGS2 ethernet2_1
-
ETHERNET_SETTINGS ethernet_2
-
ETHERNET_SETTINGS2 ethernet2_2
-
Fire3LinuxSettings os_settings
-
RAD_GPTP_SETTINGS gPTP
-
uint16_t iso_tester_pullup_enable
-
CMP_GLOBAL_DATA cmp_global_data
-
CMP_NETWORK_DATA cmp_stream_data[CMP_STREAMS_RED2]
-
uint32_t networkTimeSync
-
uint16_t perf_en
-
struct neovired2_status_t
- #include <neovired2settings.h>
-
class NeoVIRED2Settings : public icsneo::IDeviceSettings
- #include <neovired2settings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<EthPhyLinkMode> getSupportedPhyLinkModesFor(Network net) const override
Get supported PHY link modes (combined speed+duplex) for a network. Each mode represents a valid hardware configuration.
- Parameters:
net – The network to query
- Returns:
Vector of supported modes, empty if network doesn’t support PHY settings
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class Network
- #include <network.h>
Public Types
-
enum class NetID : neonetid_t
Values:
-
enumerator Device
-
enumerator DWCAN_01
-
enumerator DWCAN_08
-
enumerator SWCAN_01
-
enumerator LSFTCAN_01
-
enumerator FordSCP
-
enumerator J1708
-
enumerator Aux
-
enumerator J1850VPW
-
enumerator ISO9141_01
-
enumerator DiskData
-
enumerator Main51
-
enumerator RED
-
enumerator SCI
-
enumerator ISO9141_02
-
enumerator ISO14230
-
enumerator LIN_01
-
enumerator AE_01
-
enumerator AE_02
-
enumerator AE_03
-
enumerator RED_EXT_MEMORYREAD
-
enumerator RED_INT_MEMORYREAD
-
enumerator RED_DFLASH_READ
-
enumerator NeoMemorySDRead
-
enumerator CAN_ERRBITS
-
enumerator NeoMemoryWriteDone
-
enumerator RED_WAVE_CAN1_LOGICAL
-
enumerator RED_WAVE_CAN2_LOGICAL
-
enumerator RED_WAVE_LIN1_LOGICAL
-
enumerator RED_WAVE_LIN2_LOGICAL
-
enumerator RED_WAVE_LIN1_ANALOG
-
enumerator RED_WAVE_LIN2_ANALOG
-
enumerator RED_WAVE_MISC_ANALOG
-
enumerator RED_WAVE_MISCDIO2_LOGICAL
-
enumerator RED_NETWORK_COM_ENABLE_EX
-
enumerator RED_NEOVI_NETWORK
-
enumerator RED_READ_BAUD_SETTINGS
-
enumerator RED_OLDFORMAT
-
enumerator RED_SCOPE_CAPTURE
-
enumerator RED_HARDWARE_EXCEP
-
enumerator RED_GET_RTC
-
enumerator ISO9141_03
-
enumerator DWCAN_02
-
enumerator DWCAN_03
-
enumerator AE_04
-
enumerator AE_05
-
enumerator ISO9141_04
-
enumerator LIN_02
-
enumerator LIN_03
-
enumerator LIN_04
-
enumerator RED_App_Error
-
enumerator CGI
-
enumerator Reset_Status
-
enumerator FB_Status
-
enumerator App_Signal_Status
-
enumerator Read_Datalink_Cm_Tx_Msg
-
enumerator Read_Datalink_Cm_Rx_Msg
-
enumerator Logging_Overflow
-
enumerator ReadSettings
-
enumerator DWCAN_04
-
enumerator DWCAN_05
-
enumerator RS232
-
enumerator UART_01
-
enumerator UART_02
-
enumerator UART_03
-
enumerator UART_04
-
enumerator SWCAN_02
-
enumerator ETHERNET_DAQ
-
enumerator Data_To_Host
-
enumerator TextAPI_To_Host
-
enumerator SPI_01
-
enumerator AE_06
-
enumerator Red_VBat
-
enumerator AE_07
-
enumerator AE_08
-
enumerator AE_09
-
enumerator AE_10
-
enumerator AE_11
-
enumerator FLEXRAY_01A
-
enumerator FLEXRAY_01B
-
enumerator FLEXRAY_02A
-
enumerator FLEXRAY_02B
-
enumerator LIN_05
-
enumerator FLEXRAY_01
-
enumerator FLEXRAY_02
-
enumerator AE_12
-
enumerator I2C_01
-
enumerator MOST_25
-
enumerator MOST_50
-
enumerator MOST_150
-
enumerator ETHERNET_01
-
enumerator GMFSA
-
enumerator TCP
-
enumerator DWCAN_06
-
enumerator DWCAN_07
-
enumerator LIN_06
-
enumerator LSFTCAN_02
-
enumerator LogicalDiskInfo
-
enumerator WiVICommand
-
enumerator ScriptStatus
-
enumerator EthPHYControl
-
enumerator ExtendedCommand
-
enumerator ExtendedData
-
enumerator FlexRayControl
-
enumerator CoreMiniPreLoad
-
enumerator HW_COM_Latency_Test
-
enumerator DeviceStatus
-
enumerator UDP
-
enumerator ForwardedMessage
-
enumerator I2C_02
-
enumerator I2C_03
-
enumerator I2C_04
-
enumerator ETHERNET_02
-
enumerator ETHERNET_TX_WRAP
-
enumerator A2B_01
-
enumerator A2B_02
-
enumerator ETHERNET_03
-
enumerator WBMS_01
-
enumerator DWCAN_09
-
enumerator DWCAN_10
-
enumerator DWCAN_11
-
enumerator DWCAN_12
-
enumerator DWCAN_13
-
enumerator DWCAN_14
-
enumerator DWCAN_15
-
enumerator DWCAN_16
-
enumerator LIN_07
-
enumerator LIN_08
-
enumerator SPI_02
-
enumerator MDIO_01
-
enumerator MDIO_02
-
enumerator MDIO_03
-
enumerator MDIO_04
-
enumerator MDIO_05
-
enumerator MDIO_06
-
enumerator MDIO_07
-
enumerator MDIO_08
-
enumerator AE_13
-
enumerator AE_14
-
enumerator AE_15
-
enumerator AE_16
-
enumerator SPI_03
-
enumerator SPI_04
-
enumerator SPI_05
-
enumerator SPI_06
-
enumerator SPI_07
-
enumerator SPI_08
-
enumerator LIN_09
-
enumerator LIN_10
-
enumerator LIN_11
-
enumerator LIN_12
-
enumerator LIN_13
-
enumerator LIN_14
-
enumerator LIN_15
-
enumerator LIN_16
-
enumerator Any
-
enumerator Invalid
-
enumerator Device
-
enum class Type : neonettype_t
Values:
-
enumerator Invalid
-
enumerator Internal
-
enumerator CAN
-
enumerator LIN
-
enumerator FlexRay
-
enumerator MOST
-
enumerator Ethernet
-
enumerator LSFTCAN
-
enumerator SWCAN
-
enumerator ISO9141
-
enumerator I2C
-
enumerator A2B
-
enumerator SPI
-
enumerator MDIO
-
enumerator AutomotiveEthernet
-
enumerator Maxsize
-
enumerator Any
-
enumerator Other
-
enumerator Invalid
-
enum class CoreMini : uint8_t
Values:
-
enumerator DWCAN_01
-
enumerator DWCAN_08
-
enumerator LIN_01
-
enumerator LIN_02
-
enumerator Virtual
-
enumerator DWCAN_02
-
enumerator LSFTCAN_01
-
enumerator SWCAN_01
-
enumerator DWCAN_03
-
enumerator CGI
-
enumerator J1850VPW
-
enumerator LIN_03
-
enumerator LIN_04
-
enumerator J1708
-
enumerator DWCAN_04
-
enumerator DWCAN_05
-
enumerator ISO9141_01
-
enumerator ISO9141_02
-
enumerator ISO9141_03
-
enumerator ISO9141_04
-
enumerator FLEXRAY_01A
-
enumerator UART_01
-
enumerator UART_02
-
enumerator LIN_05
-
enumerator MOST_25
-
enumerator MOST_50
-
enumerator FLEXRAY_01B
-
enumerator SWCAN_02
-
enumerator ETHERNET_DAQ
-
enumerator ETHERNET_01
-
enumerator FLEXRAY_02A
-
enumerator FLEXRAY_02B
-
enumerator DWCAN_06
-
enumerator DWCAN_07
-
enumerator LIN_06
-
enumerator LSFTCAN_02
-
enumerator AE_01
-
enumerator AE_02
-
enumerator AE_03
-
enumerator AE_04
-
enumerator AE_05
-
enumerator AE_06
-
enumerator AE_07
-
enumerator AE_08
-
enumerator AE_09
-
enumerator AE_10
-
enumerator AE_11
-
enumerator AE_12
-
enumerator TCPVirtual
-
enumerator UDPVirtual
-
enumerator FLEXRAY_01
-
enumerator FLEXRAY_02
-
enumerator ForwardedMessage
-
enumerator I2C_01
-
enumerator I2C_02
-
enumerator I2C_03
-
enumerator I2C_04
-
enumerator ETHERNET_02
-
enumerator A2B_01
-
enumerator A2B_02
-
enumerator ETHERNET_03
-
enumerator WBMS_01
-
enumerator DWCAN_09
-
enumerator DWCAN_10
-
enumerator DWCAN_11
-
enumerator DWCAN_12
-
enumerator DWCAN_13
-
enumerator DWCAN_14
-
enumerator DWCAN_15
-
enumerator DWCAN_16
-
enumerator LIN_07
-
enumerator LIN_08
-
enumerator SPI_01
-
enumerator SPI_02
-
enumerator MDIO_01
-
enumerator MDIO_02
-
enumerator MDIO_03
-
enumerator MDIO_04
-
enumerator MDIO_05
-
enumerator MDIO_06
-
enumerator MDIO_07
-
enumerator MDIO_08
-
enumerator AE_13
-
enumerator AE_14
-
enumerator AE_15
-
enumerator AE_16
-
enumerator SPI_03
-
enumerator SPI_04
-
enumerator SPI_05
-
enumerator SPI_06
-
enumerator SPI_07
-
enumerator SPI_08
-
enumerator LIN_09
-
enumerator LIN_10
-
enumerator LIN_11
-
enumerator LIN_12
-
enumerator LIN_13
-
enumerator LIN_14
-
enumerator LIN_15
-
enumerator LIN_16
-
enumerator DWCAN_01
Public Static Functions
-
static inline NetID OffsetToSimpleNetworkId(uint16_t offset)
So if you are passing in the offset from OFFSET_PLASMA_SLAVE1 or the offset from OFFSET_PLASMA_SLAVE2, return the vnet agnostic netid so caller can commonize handlers without caring about WHICH slave.
-
static inline bool Within(neonetid_t value, neonetid_t min, neonetid_t max)
-
static inline bool IdIsSlaveARange1(neonetid_t fullNetid)
-
static inline bool IdIsSlaveARange2(neonetid_t fullNetid)
-
static inline bool IdIsSlaveBRange1(neonetid_t fullNetid)
-
static inline bool IdIsSlaveBRange2(neonetid_t fullNetid)
-
enum class NetID : neonetid_t
-
class NetworkMutexMessage : public icsneo::Message
- #include <networkmutexmessage.h>
Public Functions
-
inline NetworkMutexMessage()
Public Members
-
std::optional<uint32_t> owner_id
-
std::optional<NetworkMutexType> type
-
std::optional<uint32_t> priority
-
std::optional<uint32_t> ttlMs
-
std::optional<NetworkMutexEvent> event
Public Static Functions
-
static std::shared_ptr<NetworkMutexMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
static std::vector<uint8_t> EncodeArgumentsForLock(uint32_t client_id, NetworkMutexType type, uint32_t priority, uint32_t ttlMs, const std::set<Network::NetID> &networks, const device_eventhandler_t &report)
-
static std::vector<uint8_t> EncodeArgumentsForLockAll(uint32_t client_id, NetworkMutexType type, uint32_t priority, uint32_t ttlMs, const device_eventhandler_t &report)
-
static std::vector<uint8_t> EncodeArgumentsForUnlock(uint32_t client_id, const std::set<Network::NetID> &networks, const device_eventhandler_t &report)
-
static std::vector<uint8_t> EncodeArgumentsForUnlockAll(uint32_t client_id, const device_eventhandler_t &report)
-
static std::vector<uint8_t> EncodeArgumentsForStatus(Network::NetID network, const device_eventhandler_t &report)
-
static inline const char *GetNetworkMutexTypeString(NetworkMutexType type)
-
static inline const char *GetNetworkMutexEventString(NetworkMutexEvent event)
-
inline NetworkMutexMessage()
-
class NullSettings : public icsneo::IDeviceSettings
- #include <nullsettings.h>
Public Functions
-
class Packet
- #include <packet.h>
-
class Packetizer
- #include <packetizer.h>
Public Functions
-
inline Packetizer(device_eventhandler_t report)
-
std::vector<uint8_t> &packetWrap(std::vector<uint8_t> &data, bool shortFormat) const
-
bool input(RingBuffer &bytes)
Public Static Functions
-
static uint8_t ICSChecksum(const std::vector<uint8_t> &data)
-
inline Packetizer(device_eventhandler_t report)
-
class PCAP : public icsneo::Driver, public icsneo::Driver
- #include <pcap.h>
Public Functions
-
PCAP(device_eventhandler_t err, neodevice_t &forDevice)
-
virtual bool open() override
-
virtual bool isOpen() override
-
virtual bool close() override
-
inline virtual bool isEthernet() const override
-
inline virtual driver_finder_t getFinder() override
-
PCAP(const device_eventhandler_t &err, neodevice_t &forDevice)
-
virtual bool open() override
-
virtual bool isOpen() override
-
virtual bool close() override
-
inline virtual bool isEthernet() const override
-
inline virtual driver_finder_t getFinder() override
Public Static Functions
-
static void Find(std::vector<FoundDevice> &foundDevices)
-
static std::string GetEthDevSerialFromMacAddress(uint8_t product, uint16_t macSerial)
-
static bool IsHandleValid(neodevice_handle_t handle)
-
static void Find(std::vector<FoundDevice> &foundDevices)
-
static std::string GetEthDevSerialFromMacAddress(uint8_t product, uint16_t macSerial)
-
static bool IsHandleValid(neodevice_handle_t handle)
-
PCAP(device_eventhandler_t err, neodevice_t &forDevice)
-
class PCAPDLL
- #include <pcapdll.h>
Public Types
- int(__cdecl * PCAPFINDDEVICE )(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf)
- pcap_t *(__cdecl * PCAPOPEN )(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf)
- void(__cdecl * PCAPFREEDEVS )(pcap_if_t *alldevsp)
- void(__cdecl * PCAPCLOSE )(pcap_t *p)
- int(__cdecl * PCAPSTATS )(pcap_t *p, struct pcap_stat *ps)
- int(__cdecl * PCAPNEXTEX )(pcap_t *p, struct pcap_pkthdr **pkt_header, const unsigned char **pkt_data)
- int(__cdecl * PCAPSENDPACKET )(pcap_t *p, const unsigned char *buf, int size)
- pcap_send_queue *(__cdecl * PCAPSENDQUEUEALLOC )(unsigned int memsize)
- int(__cdecl * PCAPSENDQUEUEQUEUE )(pcap_send_queue *queue, const struct pcap_pkthdr *pkt_header, const unsigned char *pkt_data)
- void(__cdecl * PCAPSENDQUEUEDESTROY )(pcap_send_queue *queue)
- unsigned int(__cdecl * PCAPSENDQUEUETRANSMIT )(pcap_t *p, pcap_send_queue *queue, int sync)
- int(__cdecl * PCAPDATALINK )(pcap_t *p)
- int(__cdecl * PCAPCREATESRCSTR )(char *source, int type, const char *host, const char *port, const char *name, char *errbuf)
- int(__cdecl * PCAPSETBUFF )(pcap_t *p, int dim)
Public Members
-
PCAPFINDDEVICE findalldevs_ex
-
PCAPOPEN open
-
PCAPFREEDEVS freealldevs
-
PCAPCLOSE close
-
PCAPSTATS stats
-
PCAPNEXTEX next_ex
-
PCAPSENDPACKET sendpacket
-
PCAPSENDQUEUEALLOC sendqueue_alloc
-
PCAPSENDQUEUEQUEUE sendqueue_queue
-
PCAPSENDQUEUEDESTROY sendqueue_destroy
-
PCAPSENDQUEUETRANSMIT sendqueue_transmit
-
PCAPDATALINK datalink
-
PCAPCREATESRCSTR createsrcstr
-
PCAPSETBUFF setbuff
-
struct PhyMessage
- #include <ethphymessage.h>
Public Members
-
bool Enabled
-
bool WriteEnable
-
bool Clause45Enable
-
uint8_t BusIndex
-
uint8_t Version
-
Clause22Message Clause22
-
Clause45Message Clause45
- union icsneo::PhyMessage
-
bool Enabled
-
struct PhyRegisterHeader_t
- #include <ethphyregpacket.h>
-
struct PhyRegisterPacket_t
- #include <ethphyregpacket.h>
-
class Plasion : public icsneo::Device
- #include <plasion.h>
Subclassed by icsneo::NeoVIION, icsneo::NeoVIPLASMA
-
class RADA2B : public icsneo::Device
- #include <rada2b.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADA2B, DeviceType::RAD_A2B, "AB")
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct rada2b_monitor_settings_t
- #include <rada2bsettings.h>
-
struct rada2b_settings_t
- #include <rada2bsettings.h>
Public Members
-
uint16_t perf_en
-
uint16_t hwComLatencyTestEn
-
uint16_t disableUsbCheckOnBoot
-
uint16_t __pad0__
-
struct icsneo::rada2b_settings_t flags
-
uint16_t network_enabled_on_boot
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
LIN_SETTINGS lin1
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint64_t network_enables
-
uint64_t termination_enables
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
RAD_REPORTING_SETTINGS reporting
-
DISK_SETTINGS disk
-
LOGGER_SETTINGS logger
-
int16_t iso15765_separation_time_offset
-
rada2b_monitor_settings_t a2b_monitor
-
rada2b_monitor_settings_t a2b_node
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
ETHERNET_SETTINGS2 ethernet
-
RAD_GPTP_SETTINGS gPTP
-
uint64_t network_enables_5
-
CMP_GLOBAL_DATA cmp_global_data
-
CMP_NETWORK_DATA cmp_stream_data[CMP_STREAMS_A2B]
-
uint16_t perf_en
-
class RADA2BSettings : public icsneo::IDeviceSettings
- #include <rada2bsettings.h>
Public Types
Public Functions
-
inline TDMMode getTDMMode(RADA2BDevice device) const
-
inline uint8_t getNumChannels(RADA2BDevice device) const
-
inline ChannelSize getChannelSize(RADA2BDevice device) const
-
inline uint8_t getChannelOffset(RADA2BDevice device, A2BMessage::Direction dir) const
-
inline NodeType getNodeType(RADA2BDevice device) const
-
inline void setNodeType(RADA2BDevice device, NodeType newType)
-
inline void setTDMMode(RADA2BDevice device, TDMMode newMode)
-
inline void setChannelOffset(RADA2BDevice device, A2BMessage::Direction dir, uint8_t newOffset)
-
inline void setChannelSize(RADA2BDevice device, ChannelSize newChannelSize)
Public Static Attributes
-
static constexpr uint8_t a2bSettingsFlag16bit = 0x01
-
inline TDMMode getTDMMode(RADA2BDevice device) const
-
class RADComet : public icsneo::RADCometBase
- #include <radcomet.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE_BY_SERIAL_RANGE (RADComet, DeviceType::RADComet, "RC0000", "RC0299")
-
inline virtual std::string getProductName() const override
-
class RADComet2 : public icsneo::RADCometBase
- #include <radcomet2.h>
-
class RADComet3 : public icsneo::Device
- #include <radcomet3.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADComet3, DeviceType::RADComet3, "C3")
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual bool supportsTC10() const override
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct radcomet3_settings_t
- #include <radcomet3settings.h>
Public Members
-
uint32_t ecu_id
-
uint16_t perf_en
-
uint16_t hwComLatencyTestEn
-
uint16_t disableUsbCheckOnBoot
-
uint16_t reserved
-
struct icsneo::radcomet3_settings_t flags
-
uint16_t network_enabled_on_boot
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint64_t network_enables
-
uint64_t network_enables_2
-
uint64_t termination_enables
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
RAD_REPORTING_SETTINGS reporting
-
int16_t iso15765_separation_time_offset
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
RAD_GPTP_SETTINGS gPTP
-
STextAPISettings text_api
-
ETHERNET_SETTINGS2 ethernet
-
AE_GENERAL_SETTINGS aeGen
-
ETHERNET_SETTINGS2 ethT1
-
AE_SETTINGS ae_01
-
ETHERNET_SETTINGS2 ethT1s1
-
ETHERNET10T1S_SETTINGS t1s1
-
ETHERNET_SETTINGS2 ethT1s2
-
ETHERNET10T1S_SETTINGS t1s2
-
ETHERNET_SETTINGS2 ethT1s3
-
ETHERNET10T1S_SETTINGS t1s3
-
ETHERNET_SETTINGS2 ethT1s4
-
ETHERNET10T1S_SETTINGS t1s4
-
ETHERNET_SETTINGS2 ethT1s5
-
ETHERNET10T1S_SETTINGS t1s5
-
ETHERNET_SETTINGS2 ethT1s6
-
ETHERNET10T1S_SETTINGS t1s6
-
LIN_SETTINGS lin1
-
ETHERNET10T1S_SETTINGS_EXT t1s1Ext
-
ETHERNET10T1S_SETTINGS_EXT t1s2Ext
-
ETHERNET10T1S_SETTINGS_EXT t1s3Ext
-
ETHERNET10T1S_SETTINGS_EXT t1s4Ext
-
ETHERNET10T1S_SETTINGS_EXT t1s5Ext
-
ETHERNET10T1S_SETTINGS_EXT t1s6Ext
-
uint32_t ecu_id
-
class RADComet3Settings : public icsneo::IDeviceSettings
- #include <radcomet3settings.h>
Public Functions
-
inline virtual bool setPhyRoleFor(Network net, AELinkMode mode) override
Set PHY role (Master/Slave/Auto) for network-based devices. For switch devices, use setPhyMode() with port index instead.
- Parameters:
net – Network ID
mode – Master/Slave/Auto role
- Returns:
true if successful
-
inline virtual bool setPhyEnableFor(Network net, bool enable) override
Enable/disable PHY for network-based devices. For switch devices, use setPhyEnable() with port index instead.
- Parameters:
net – Network ID
enable – True to enable, false to disable
- Returns:
true if successful
-
inline virtual std::optional<AELinkMode> getPhyRoleFor(Network net) const override
Get PHY role (Master/Slave/Auto) for network-based devices. For switch devices, use getPhyMode() with port index instead.
- Parameters:
net – Network ID
- Returns:
Current role, or nullopt if not available
-
inline virtual std::optional<bool> getPhyEnableFor(Network net) const override
Get PHY enable state for network-based devices.
For switch devices, use getPhyEnable() with port index instead.
- Parameters:
net – Network ID
- Returns:
True if enabled, false if disabled, nullopt if not available
-
inline virtual std::vector<EthPhyLinkMode> getSupportedPhyLinkModesFor(Network net) const override
Get supported PHY link modes (combined speed+duplex) for a network. Each mode represents a valid hardware configuration.
- Parameters:
net – The network to query
- Returns:
Vector of supported modes, empty if network doesn’t support PHY settings
-
inline virtual bool setPhyRoleFor(Network net, AELinkMode mode) override
-
struct radcomet_settings_t
- #include <radcometsettings.h>
Public Members
-
uint32_t ecu_id
-
uint16_t perf_en
-
uint16_t hwComLatencyTestEn
-
uint16_t disableUsbCheckOnBoot
-
uint16_t reserved
-
struct icsneo::radcomet_settings_t flags
-
uint16_t network_enabled_on_boot
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint64_t word
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
uint16_t network_enables_4
-
union icsneo::radcomet_settings_t network_enables
-
uint64_t termination_enables
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
RAD_REPORTING_SETTINGS reporting
-
int16_t iso15765_separation_time_offset
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
RAD_GPTP_SETTINGS gPTP
-
STextAPISettings text_api
-
ETHERNET_SETTINGS2 ethernet
-
AE_GENERAL_SETTINGS aeGen
-
ETHERNET_SETTINGS2 ethT1
-
AE_SETTINGS ae_01
-
ETHERNET_SETTINGS2 ethT1s1
-
ETHERNET10T1S_SETTINGS t1s1
-
ETHERNET_SETTINGS2 ethT1s2
-
ETHERNET10T1S_SETTINGS t1s2
-
uint64_t network_enables_5
-
LIN_SETTINGS lin1
-
ETHERNET10T1S_SETTINGS_EXT t1s1Ext
-
ETHERNET10T1S_SETTINGS_EXT t1s2Ext
-
uint32_t ecu_id
-
class RADCometBase : public icsneo::Device
- #include <radcometbase.h>
Subclassed by icsneo::RADComet, icsneo::RADComet2
Public Functions
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
inline virtual bool getEthPhyRegControlSupported() const override
-
class RADCometSettings : public icsneo::IDeviceSettings
- #include <radcometsettings.h>
Public Functions
-
class RADEpsilon : public icsneo::Device
- #include <radepsilon.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADEpsilon, DeviceType::RADEpsilon, "RE")
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
inline virtual bool supportsComponentVersions() const override
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
struct radepsilon_settings_t
- #include <radepsilonsettings.h>
Public Members
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
LIN_SETTINGS lin1
-
uint16_t network_enables[3]
-
uint64_t termination_enables
-
uint16_t misc_io_analog_enable
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
int16_t iso15765_separation_time_offset
-
uint16_t iso9141_kwp_enable_reserved
-
uint16_t iso_tester_pullup_enable
-
uint16_t iso_parity
-
uint16_t iso_msg_termination
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings
-
ETHERNET_SETTINGS ethernet
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t enablePcEthernetComm
-
uint32_t reserved
-
struct icsneo::radepsilon_settings_t flags
-
radepsilon_switch_settings_t switchSettings
-
ETHERNET_SETTINGS2 ethernet2
-
uint16_t misc_io_on_report_events
-
DISK_SETTINGS disk
-
uint16_t perf_en
-
struct radepsilon_switch_settings_t
- #include <radepsilonsettings.h>
-
class RADEpsilonSettings : public icsneo::IDeviceSettings
- #include <radepsilonsettings.h>
Public Functions
-
inline virtual bool setPhyMode(uint8_t index, AELinkMode mode) override
Set PHY role (Master/Slave/Auto) for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use setPhyRoleFor() instead.
- Parameters:
index – Port index (0-based)
mode – Master/Slave/Auto role
- Returns:
true if successful
-
inline virtual bool setPhyEnable(uint8_t index, bool enable) override
Enable/disable PHY for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use setPhyEnableFor() instead.
- Parameters:
index – Port index (0-based)
enable – True to enable, false to disable
- Returns:
true if successful
-
inline virtual bool setPhySpeed(uint8_t index, EthPhyLinkMode mode) override
Set PHY link mode (speed and duplex) for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use setPhyLinkModeFor() instead.
- Parameters:
index – Port index (0-based)
mode – Link mode (speed + duplex combination)
- Returns:
true if successful
-
inline virtual std::optional<AELinkMode> getPhyMode(uint8_t index) override
Get PHY role (Master/Slave/Auto) for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use getPhyRoleFor() instead.
- Parameters:
index – Port index (0-based)
- Returns:
Current role, or nullopt if not available
-
inline virtual std::optional<bool> getPhyEnable(uint8_t index) override
Get PHY enable state for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use getPhyEnableFor() instead.
- Parameters:
index – Port index (0-based)
- Returns:
True if enabled, false if disabled, nullopt if not available
-
inline virtual std::optional<EthPhyLinkMode> getPhySpeed(uint8_t index) override
Get PHY link mode (speed and duplex) for switch devices (Epsilon/XL, Jupiter, etc) using port index. For all other devices, use getPhyLinkModeFor() instead.
- Parameters:
index – Port index (0-based)
- Returns:
Current link mode, or nullopt if not available
-
inline virtual bool setPhyMode(uint8_t index, AELinkMode mode) override
-
class RADEpsilonXL : public icsneo::Device
- #include <radepsilonxl.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADEpsilonXL, DeviceType::RADEpsilonXL, "PX")
-
inline virtual bool supportsComponentVersions() const override
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
class RADGalaxy : public icsneo::Device
- #include <radgalaxy.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADGalaxy, DeviceType::RADGalaxy, "RG")
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
class RADGalaxy2 : public icsneo::Device
- #include <radgalaxy2.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADGalaxy2, DeviceType::RADGalaxy2, "G2")
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual bool supportsTC10() const override
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct radgalaxy2_settings_t
- #include <radgalaxy2settings.h>
Public Members
-
uint32_t ecu_id
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
uint16_t iso15765_separation_time_offset
-
uint16_t iso_9141_kwp_enable_reserved
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint16_t idle_wakeup_network_enables_1
-
uint16_t idle_wakeup_network_enables_2
-
uint16_t network_enables_3
-
uint16_t idle_wakeup_network_enables_3
-
STextAPISettings text_api
-
uint64_t termination_enables
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
uint16_t hwComLatencyTestEn
-
uint16_t reserved
-
struct icsneo::radgalaxy2_settings_t flags
-
LIN_SETTINGS lin1
-
AE_GENERAL_SETTINGS aeGen
-
AE_SETTINGS ae_01
-
AE_SETTINGS ae_02
-
AE_SETTINGS ae_03
-
AE_SETTINGS ae_04
-
AE_SETTINGS ae_05
-
AE_SETTINGS ae_06
-
AE_SETTINGS ae_07
-
AE_SETTINGS ae_08
-
AE_SETTINGS ae_09
-
AE_SETTINGS ae_10
-
AE_SETTINGS ae_11
-
AE_SETTINGS ae_12
-
AE_SETTINGS ae_13
-
AE_SETTINGS ae_14
-
AE_SETTINGS ae_15
-
AE_SETTINGS ae_16
-
ETHERNET10G_SETTINGS ethernet10g
-
ETHERNET10G_SETTINGS ethernet10g_2
-
ETHERNET10G_SETTINGS ethernet10g_3
-
uint16_t network_enables_4
-
RAD_REPORTING_SETTINGS reporting
-
RAD_GPTP_SETTINGS gPTP
-
uint64_t network_enables_5
-
LIN_SETTINGS lin2
-
uint16_t iso_9141_kwp_enable_reserved_2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
uint16_t iso_msg_termination_2
-
uint32_t ecu_id
-
struct radgalaxy2_status_t
- #include <radgalaxy2settings.h>
-
class RADGalaxy2Settings : public icsneo::IDeviceSettings
- #include <radgalaxy2settings.h>
Public Functions
-
inline virtual bool setPhyEnableFor(Network net, bool enable) override
Enable/disable PHY for network-based devices. For switch devices, use setPhyEnable() with port index instead.
- Parameters:
net – Network ID
enable – True to enable, false to disable
- Returns:
true if successful
-
inline virtual std::optional<bool> getPhyEnableFor(Network net) const override
Get PHY enable state for network-based devices.
For switch devices, use getPhyEnable() with port index instead.
- Parameters:
net – Network ID
- Returns:
True if enabled, false if disabled, nullopt if not available
-
inline virtual bool setPhyEnableFor(Network net, bool enable) override
-
struct radgalaxy_settings_t
- #include <radgalaxysettings.h>
Public Members
-
uint16_t perf_en
-
AE_GENERAL_SETTINGS aeGen
-
AE_SETTINGS ae_01
-
AE_SETTINGS ae_02
-
AE_SETTINGS ae_03
-
AE_SETTINGS ae_04
-
AE_SETTINGS ae_05
-
AE_SETTINGS ae_06
-
AE_SETTINGS ae_07
-
AE_SETTINGS ae_08
-
AE_SETTINGS ae_09
-
AE_SETTINGS ae_10
-
AE_SETTINGS ae_11
-
AE_SETTINGS ae_12
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
SWCAN_SETTINGS swcan1
-
uint16_t network_enables
-
SWCAN_SETTINGS swcan2
-
uint16_t network_enables_2
-
LIN_SETTINGS lin1
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
uint16_t misc_io_report_period
-
uint16_t misc_io_on_report_events
-
uint16_t misc_io_analog_enable
-
uint16_t ain_sample_period
-
uint16_t ain_threshold
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
uint16_t iso15765_separation_time_offset
-
uint16_t iso_9141_kwp_enable_reserved
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint16_t idle_wakeup_network_enables_1
-
uint16_t idle_wakeup_network_enables_2
-
uint16_t network_enables_3
-
uint16_t idle_wakeup_network_enables_3
-
uint16_t can_switch_mode
-
STextAPISettings text_api
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
uint16_t hwComLatencyTestEn
-
RAD_REPORTING_SETTINGS reporting
-
DISK_SETTINGS disk
-
LOGGER_SETTINGS logger
-
ETHERNET_SETTINGS2 ethernet1
-
ETHERNET_SETTINGS2 ethernet2
-
uint16_t network_enables_4
-
RAD_GPTP_SETTINGS gPTP
-
uint64_t network_enables_5
-
uint16_t perf_en
-
struct radgalaxy_status_t
- #include <radgalaxysettings.h>
-
class RADGalaxySettings : public icsneo::IDeviceSettings
- #include <radgalaxysettings.h>
Public Functions
-
inline virtual bool setMiscIOAnalogOutputEnabled(uint8_t pin, bool enabled) override
-
inline virtual bool setMiscIOAnalogOutput(uint8_t pin, MiscIOAnalogVoltage voltage) override
-
inline virtual bool setMiscIOAnalogOutputEnabled(uint8_t pin, bool enabled) override
-
class RADGemini : public icsneo::Device
- #include <radgemini.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADGemini, DeviceType::RADGemini, "GE")
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual bool isOnlineSupported() const override
-
inline virtual bool supportsTC10() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct radgemini_settings_t
- #include <radgeminisettings.h>
Public Members
-
uint16_t perf_en
-
ETHERNET_SETTINGS2 ethernet1
-
ETHERNET_SETTINGS2 ethernet2
-
ETHERNET_SETTINGS2 autoEthernet1
-
ETHERNET_SETTINGS2 autoEthernet2
-
uint16_t network_enabled_on_boot
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
uint16_t network_enables_4
-
uint64_t network_enables_5
-
uint16_t enableLatencyTest
-
uint16_t reserved
-
struct icsneo::radgemini_settings_t flags
-
uint16_t perf_en
-
class RADGeminiSettings : public icsneo::IDeviceSettings
- #include <radgeminisettings.h>
Public Functions
-
class RADGigastar : public icsneo::Device
- #include <radgigastar.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADGigastar, DeviceType::RADGigastar, "GS")
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual bool supportsTC10() const override
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
inline virtual std::vector<VersionReport> getChipVersions(bool refreshComponents = true) override
-
class RADGigastar2 : public icsneo::Device
- #include <radgigastar2.h>
Public Types
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADGigastar2, DeviceType::RADGigastar2, "GT")
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual bool supportsTC10() const override
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
inline void setVariantToFlash(FirmwareVariant variant)
-
inline FirmwareVariant getCurrentVariant()
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
inline virtual std::vector<VersionReport> getChipVersions(bool refreshComponents = true) override
Public Members
-
FirmwareVariant variantToFlash = FirmwareVariant::Invalid
-
struct radgigastar2_settings_t
- #include <radgigastar2settings.h>
Public Members
-
uint32_t ecu_id
-
uint16_t perf_en
-
uint16_t hwComLatencyTestEn
-
uint16_t disableUsbCheckOnBoot
-
uint16_t reserved
-
struct icsneo::radgigastar2_settings_t flags
-
uint16_t network_enabled_on_boot
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2
-
uint16_t iso_parity_2
-
uint16_t iso_msg_termination_2
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_3
-
uint16_t iso_parity_3
-
uint16_t iso_msg_termination_3
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_4
-
uint16_t iso_parity_4
-
uint16_t iso_msg_termination_4
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_5
-
uint16_t iso_parity_5
-
uint16_t iso_msg_termination_5
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_6
-
uint16_t iso_parity_6
-
uint16_t iso_msg_termination_6
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_7
-
uint16_t iso_parity_7
-
uint16_t iso_msg_termination_7
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_8
-
uint16_t iso_parity_8
-
uint16_t iso_msg_termination_8
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_9
-
uint16_t iso_parity_9
-
uint16_t iso_msg_termination_9
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_10
-
uint16_t iso_parity_10
-
uint16_t iso_msg_termination_10
-
uint64_t network_enables
-
uint64_t network_enables_2
-
uint64_t termination_enables
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
RAD_REPORTING_SETTINGS reporting
-
int16_t iso15765_separation_time_offset
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
RAD_GPTP_SETTINGS gPTP
-
STextAPISettings text_api
-
DISK_SETTINGS disk
-
LOGGER_SETTINGS logger
-
LIN_SETTINGS lin1
-
LIN_SETTINGS lin2
-
LIN_SETTINGS lin3
-
LIN_SETTINGS lin4
-
LIN_SETTINGS lin5
-
LIN_SETTINGS lin6
-
LIN_SETTINGS lin7
-
LIN_SETTINGS lin8
-
LIN_SETTINGS lin9
-
LIN_SETTINGS lin10
-
ETHERNET_SETTINGS2 ethernet1
-
ETHERNET_SETTINGS2 ethernet2
-
AE_GENERAL_SETTINGS aeGen
-
ETHERNET_SETTINGS2 ethT1
-
AE_SETTINGS ae_01
-
ETHERNET_SETTINGS2 ethT12
-
AE_SETTINGS ae_02
-
ETHERNET_SETTINGS2 ethT1s1
-
ETHERNET10T1S_SETTINGS t1s1
-
ETHERNET10T1S_SETTINGS_EXT t1s1Ext
-
ETHERNET_SETTINGS2 ethT1s2
-
ETHERNET10T1S_SETTINGS t1s2
-
ETHERNET10T1S_SETTINGS_EXT t1s2Ext
-
ETHERNET_SETTINGS2 ethT1s3
-
ETHERNET10T1S_SETTINGS t1s3
-
ETHERNET10T1S_SETTINGS_EXT t1s3Ext
-
ETHERNET_SETTINGS2 ethT1s4
-
ETHERNET10T1S_SETTINGS t1s4
-
ETHERNET10T1S_SETTINGS_EXT t1s4Ext
-
ETHERNET_SETTINGS2 ethT1s5
-
ETHERNET10T1S_SETTINGS t1s5
-
ETHERNET10T1S_SETTINGS_EXT t1s5Ext
-
ETHERNET_SETTINGS2 ethT1s6
-
ETHERNET10T1S_SETTINGS t1s6
-
ETHERNET10T1S_SETTINGS_EXT t1s6Ext
-
ETHERNET_SETTINGS2 ethT1s7
-
ETHERNET10T1S_SETTINGS t1s7
-
ETHERNET10T1S_SETTINGS_EXT t1s7Ext
-
ETHERNET_SETTINGS2 ethT1s8
-
ETHERNET10T1S_SETTINGS t1s8
-
ETHERNET10T1S_SETTINGS_EXT t1s8Ext
-
ETHERNET10T1S_SETTINGS sfp_t1s_1
-
ETHERNET10T1S_SETTINGS_EXT sfp_t1s_ext_1
-
ETHERNET10T1S_SETTINGS sfp_t1s_2
-
ETHERNET10T1S_SETTINGS_EXT sfp_t1s_ext_2
-
LIN_SETTINGS lin11
-
LIN_SETTINGS lin12
-
LIN_SETTINGS lin13
-
LIN_SETTINGS lin14
-
LIN_SETTINGS lin15
-
LIN_SETTINGS lin16
-
ETHERNET10T1L_SETTINGS sfp_t1l_1
-
ETHERNET10T1L_SETTINGS sfp_t1l_2
-
uint32_t ecu_id
-
struct radgigastar2_status_t
- #include <radgigastar2settings.h>
-
class RADGigastar2Settings : public icsneo::IDeviceSettings
- #include <radgigastar2settings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual bool setPhyEnableFor(Network net, bool enable) override
Enable/disable PHY for network-based devices. For switch devices, use setPhyEnable() with port index instead.
- Parameters:
net – Network ID
enable – True to enable, false to disable
- Returns:
true if successful
-
inline virtual std::optional<bool> getPhyEnableFor(Network net) const override
Get PHY enable state for network-based devices.
For switch devices, use getPhyEnable() with port index instead.
- Parameters:
net – Network ID
- Returns:
True if enabled, false if disabled, nullopt if not available
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
struct radgigastar_settings_t
- #include <radgigastarsettings.h>
Public Members
-
uint32_t ecu_id
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
uint16_t iso15765_separation_time_offset
-
uint16_t iso_9141_kwp_enable_reserved
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint16_t idle_wakeup_network_enables_1
-
uint16_t idle_wakeup_network_enables_2
-
uint16_t network_enables_3
-
uint16_t idle_wakeup_network_enables_3
-
STextAPISettings text_api
-
uint64_t termination_enables
-
DISK_SETTINGS disk
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
uint16_t hwComLatencyTestEn
-
uint16_t disableUsbCheckOnBoot
-
uint16_t reserved
-
struct icsneo::radgigastar_settings_t flags
-
ETHERNET_SETTINGS2 ethernet1
-
ETHERNET_SETTINGS2 ethernet2
-
LIN_SETTINGS lin1
-
AE_GENERAL_SETTINGS aeGen
-
AE_SETTINGS ae_01
-
AE_SETTINGS ae_02
-
SERDESCAM_SETTINGS serdescam1
-
SERDESPOC_SETTINGS serdespoc
-
LOGGER_SETTINGS logger
-
SERDESCAM_SETTINGS serdescam2
-
SERDESCAM_SETTINGS serdescam3
-
SERDESCAM_SETTINGS serdescam4
-
RAD_REPORTING_SETTINGS reporting
-
uint16_t network_enables_4
-
SERDESGEN_SETTINGS serdesgen
-
RAD_GPTP_SETTINGS gPTP
-
uint64_t network_enables_5
-
ETHERNET10T1S_SETTINGS sfp_t1s_1
-
ETHERNET10T1S_SETTINGS_EXT sfp_t1s_ext_1
-
ETHERNET10T1S_SETTINGS sfp_t1s_2
-
ETHERNET10T1S_SETTINGS_EXT sfp_t1s_ext_2
-
CMP_GLOBAL_DATA cmp_global_data
-
CMP_NETWORK_DATA cmp_stream_data[CMP_STREAMS_GIGASTAR]
-
ETHERNET10T1L_SETTINGS sfp_t1l_1
-
ETHERNET10T1L_SETTINGS sfp_t1l_2
-
uint32_t ecu_id
-
struct radgigastar_status_t
- #include <radgigastarsettings.h>
-
class RADGigastarSettings : public icsneo::IDeviceSettings
- #include <radgigastarsettings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class RADJupiter : public icsneo::Device
- #include <radjupiter.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADJupiter, DeviceType::RADJupiter, "RJ")
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual ProductID getProductID() const override
-
struct radjupiter_ptp_params_t
- #include <radjupitersettings.h>
-
struct radjupiter_settings_t
- #include <radjupitersettings.h>
Public Members
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
LIN_SETTINGS lin1
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
uint64_t termination_enables
-
uint16_t misc_io_analog_enable
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
int16_t iso15765_separation_time_offset
-
uint16_t iso9141_kwp_enable_reserved
-
uint16_t iso_tester_pullup_enable
-
uint16_t iso_parity
-
uint16_t iso_msg_termination
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings
-
ETHERNET_SETTINGS ethernet
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t enablePcEthernetComm
-
uint32_t reserved
-
struct icsneo::radjupiter_settings_t flags
-
radjupiter_switch_settings_t switchSettings
-
ETHERNET_SETTINGS2 ethernet2
-
uint16_t perf_en
-
struct radjupiter_switch_settings_t
- #include <radjupitersettings.h>
-
class RADJupiterSettings : public icsneo::IDeviceSettings
- #include <radjupitersettings.h>
-
class RADMars : public icsneo::Device
- #include <radmars.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADMars, DeviceType::RADMars, "GL")
-
inline virtual size_t getEthernetActivationLineCount() const override
Retrieve the number of Ethernet (DoIP) Activation lines present on this device.
-
inline virtual bool supportsGPTP() const override
-
inline virtual ProductID getProductID() const override
-
struct radmars_settings_t
- #include <radmarssettings.h>
Public Members
-
uint32_t ecu_id
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
CAN_SETTINGS can5
-
CANFD_SETTINGS canfd5
-
CAN_SETTINGS can6
-
CANFD_SETTINGS canfd6
-
CAN_SETTINGS can7
-
CANFD_SETTINGS canfd7
-
CAN_SETTINGS can8
-
CANFD_SETTINGS canfd8
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
uint16_t iso15765_separation_time_offset
-
uint16_t iso_9141_kwp_enable_reserved
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint16_t idle_wakeup_network_enables_1
-
uint16_t idle_wakeup_network_enables_2
-
uint16_t network_enables_3
-
uint16_t idle_wakeup_network_enables_3
-
STextAPISettings text_api
-
uint64_t termination_enables
-
uint8_t rsvd1[8]
-
uint8_t rsvd2[8]
-
DISK_SETTINGS disk
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
uint16_t hwComLatencyTestEn
-
uint16_t disableUsbCheckOnBoot
-
uint16_t reserved
-
struct icsneo::radmars_settings_t flags
-
ETHERNET_SETTINGS2 ethernet
-
SERDESCAM_SETTINGS serdescam1
-
ETHERNET10G_SETTINGS ethernet10g
-
LIN_SETTINGS lin1
-
SERDESPOC_SETTINGS serdespoc
-
LOGGER_SETTINGS logger
-
SERDESCAM_SETTINGS serdescam2
-
SERDESCAM_SETTINGS serdescam3
-
SERDESCAM_SETTINGS serdescam4
-
ETHERNET_SETTINGS2 ethernet2
-
uint16_t network_enables_4
-
RAD_REPORTING_SETTINGS reporting
-
uint32_t ecu_id
-
struct radmars_status_t
- #include <radmarssettings.h>
-
class RADMarsSettings : public icsneo::IDeviceSettings
- #include <radmarssettings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class RADMoon2 : public icsneo::RADMoon2Base
- #include <radmoon2.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADMoon2, DeviceType::RADMoon2, "RM")
-
inline virtual uint8_t getPhyAddrOrPort() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct radmoon2_settings_t
- #include <radmoon2settings.h>
Public Members
-
uint16_t perf_en
-
AE_GENERAL_SETTINGS aeGen
-
AE_SETTINGS ae_01
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enabled_on_boot
-
uint16_t network_enables_3
-
STextAPISettings text_api
-
uint16_t pc_com_mode
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
uint16_t hwComLatencyTestEn
-
RAD_GPTP_SETTINGS gPTP
-
uint64_t network_enables_5
-
uint16_t perf_en
-
class RADMoon2Base : public icsneo::Device
- #include <radmoon2base.h>
Subclassed by icsneo::RADMoon2, icsneo::RADMoon2ZL
Public Types
Public Functions
-
inline virtual std::string getProductName() const override
-
inline virtual bool goOnline() override
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
virtual uint8_t getPhyAddrOrPort() const = 0
-
inline virtual std::string getProductName() const override
-
class RADMoon2Settings : public icsneo::IDeviceSettings
- #include <radmoon2settings.h>
Public Functions
-
class RADMoon2ZL : public icsneo::RADMoon2Base
- #include <radmoon2zl.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADMoon2ZL, DeviceType::RADMoon2, "RN")
-
inline virtual uint8_t getPhyAddrOrPort() const override
-
inline virtual bool supportsTC10() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
class RADMoon3 : public icsneo::Device
- #include <radmoon3.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADMoon3, DeviceType::RADMoon3, "R3")
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual bool isOnlineSupported() const override
-
inline virtual bool supportsTC10() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct radmoon3_settings_t
- #include <radmoon3settings.h>
Public Members
-
uint16_t perf_en
-
ETHERNET10G_SETTINGS autoEth10g
-
ETHERNET10G_SETTINGS eth10g
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enabled_on_boot
-
uint16_t network_enables_3
-
uint16_t enableLatencyTest
-
uint16_t reserved
-
struct icsneo::radmoon3_settings_t flags
-
uint64_t network_enables_5
-
uint16_t perf_en
-
class RADMoon3Settings : public icsneo::IDeviceSettings
- #include <radmoon3settings.h>
Public Functions
-
class RADMoonDuo : public icsneo::Device
- #include <radmoonduo.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADMoonDuo, DeviceType::RADMoonDuo, "MD")
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual ProductID getProductID() const override
-
struct radmoonduo_settings_t
- #include <radmoonduosettings.h>
Public Members
-
uint16_t perf_en
-
uint16_t network_enabled_on_boot
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
RadMoonDuoConverterSettings converter
-
uint64_t network_enables
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t reserved
-
struct icsneo::radmoonduo_settings_t flags
-
uint16_t perf_en
-
struct RadMoonDuoConverterSettings
- #include <radmoonduosettings.h>
-
class RADMoonDuoSettings : public icsneo::IDeviceSettings
- #include <radmoonduosettings.h>
Public Functions
-
class RADMoonT1S : public icsneo::Device
- #include <radmoont1s.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADMoonT1S, DeviceType::RADMoonT1S, "MS")
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual bool supportsTC10() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct radmoont1s_settings_t
- #include <radmoont1ssettings.h>
Public Members
-
uint16_t perf_en
-
uint16_t hwComLatencyTestEn
-
uint16_t disableUsbCheckOnBoot
-
uint16_t reserved
-
struct icsneo::radmoont1s_settings_t flags
-
uint16_t network_enabled_on_boot
-
uint64_t network_enables
-
uint64_t network_enables_2
-
RAD_REPORTING_SETTINGS reporting
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
ETHERNET_SETTINGS2 ethernet
-
AE_GENERAL_SETTINGS aeGen
-
ETHERNET_SETTINGS2 ethT1s
-
ETHERNET10T1S_SETTINGS t1s
-
ETHERNET10T1S_SETTINGS_EXT t1sExt
-
RAD_GPTP_SETTINGS gPTP
-
uint16_t perf_en
-
class RADMoonT1SSettings : public icsneo::IDeviceSettings
- #include <radmoont1ssettings.h>
Public Functions
-
struct radpluto_settings_t
- #include <radplutosettings.h>
Public Members
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
LIN_SETTINGS lin1
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
uint64_t termination_enables
-
uint16_t misc_io_analog_enable
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
int16_t iso15765_separation_time_offset
-
uint16_t iso9141_kwp_enable_reserved
-
uint16_t iso_tester_pullup_enable
-
uint16_t iso_parity
-
uint16_t iso_msg_termination
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings
-
ETHERNET_SETTINGS ethernet
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t enablePcEthernetComm
-
uint32_t reserved
-
struct icsneo::radpluto_settings_t flags
-
uint8_t mode[PLUTO_MAX_MAC_CONFIG_ENTRIES]
-
uint8_t speed[PLUTO_MAX_MAC_CONFIG_ENTRIES]
-
uint8_t enablePhy[PLUTO_MAX_MAC_CONFIG_ENTRIES]
-
uint8_t ae1Select
-
uint8_t usbSelect
-
uint8_t pad
-
struct icsneo::radpluto_settings_t custom
-
ETHERNET_SETTINGS2 ethernet2
-
uint16_t perf_en
-
class RADPlutoSettings : public icsneo::IDeviceSettings
- #include <radplutosettings.h>
-
class RADStar2 : public icsneo::Device
- #include <radstar2.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADStar2, DeviceType::RADStar2, "RS")
-
inline virtual ProductID getProductID() const override
-
struct radstar2_settings_t
- #include <radstar2settings.h>
Public Members
-
uint16_t perf_en
-
AE_GENERAL_SETTINGS aeGen
-
AE_SETTINGS ae_01
-
AE_SETTINGS ae_02
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
uint16_t network_enables
-
uint16_t network_enables_2
-
LIN_SETTINGS lin1
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
uint16_t misc_io_report_period
-
uint16_t misc_io_on_report_events
-
uint16_t misc_io_analog_enable
-
uint16_t ain_sample_period
-
uint16_t ain_threshold
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
uint16_t iso15765_separation_time_offset
-
uint16_t iso_9141_kwp_enable_reserved
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint16_t idle_wakeup_network_enables_1
-
uint16_t idle_wakeup_network_enables_2
-
uint16_t network_enables_3
-
uint16_t idle_wakeup_network_enables_3
-
uint16_t can_switch_mode
-
STextAPISettings text_api
-
uint16_t pc_com_mode
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
uint16_t hwComLatencyTestEn
-
RAD_REPORTING_SETTINGS reporting
-
ETHERNET_SETTINGS2 ethernet
-
RAD_GPTP_SETTINGS gPTP
-
uint64_t network_enables_5
-
uint16_t perf_en
-
class RADStar2Settings : public icsneo::IDeviceSettings
- #include <radstar2settings.h>
-
class RADSupermoon : public icsneo::Device
- #include <radsupermoon.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (RADSupermoon, DeviceType::RADSupermoon, "SM")
-
inline virtual std::string getProductName() const override
-
inline virtual bool getEthPhyRegControlSupported() const override
Tell whether the current device supports reading and writing Ethernet PHY registers through MDIO.
-
inline virtual ProductID getProductID() const override
-
struct radsupermoon_settings_t
- #include <radsupermoonsettings.h>
Public Members
-
uint16_t perf_en
-
AE_GENERAL_SETTINGS aeGen
-
AE_SETTINGS ae_01
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enabled_on_boot
-
uint16_t network_enables_3
-
STextAPISettings text_api
-
uint16_t pc_com_mode
-
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings
-
uint16_t hwComLatencyTestEn
-
ETHERNET_SETTINGS2 eth2
-
uint16_t perf_en
-
class RADSupermoonSettings : public icsneo::IDeviceSettings
- #include <radsupermoonsettings.h>
Public Functions
-
class RawMessage : public icsneo::Message
- #include <message.h>
Subclassed by icsneo::AppErrorMessage, icsneo::CANErrorMessage, icsneo::DiskDataMessage, icsneo::FlashMemoryMessage, icsneo::Frame, icsneo::LiveDataMessage, icsneo::LogDataMessage, icsneo::Main51Message, icsneo::NeoReadMemorySDMessage, icsneo::ReadSettingsMessage
Public Functions
-
class ReadSettingsMessage : public icsneo::RawMessage
- #include <readsettingsmessage.h>
Public Types
Public Functions
-
inline ReadSettingsMessage()
-
inline ReadSettingsMessage()
-
struct ReconnectPhase : public icsneo::BootloaderPhase
- #include <bootloaderpipeline.h>
-
class Registry
- #include <registry.h>
Public Static Functions
-
static bool EnumerateSubkeys(std::wstring path, std::vector<std::wstring> &subkeys)
-
static bool Get(std::wstring path, std::wstring key, std::wstring &value)
-
static bool Get(std::string path, std::string key, std::string &value)
-
static bool Get(std::wstring path, std::wstring key, uint32_t &value)
-
static bool Get(std::string path, std::string key, uint32_t &value)
-
static bool EnumerateSubkeys(std::wstring path, std::vector<std::wstring> &subkeys)
-
class ResetStatusMessage : public icsneo::Message
- #include <resetstatusmessage.h>
Public Functions
-
inline ResetStatusMessage()
Public Members
-
uint16_t mainLoopTime
-
uint16_t maxMainLoopTime
-
bool justReset
-
bool comEnabled
-
bool cmRunning
-
bool cmChecksumFailed
-
bool cmLicenseFailed
-
bool cmVersionMismatch
-
bool cmBootOff
-
bool hardwareFailure
-
bool usbComEnabled
-
bool linuxComEnabled
-
bool cmTooBig
-
bool hidUsbState
-
bool fpgaUsbState
-
std::optional<uint16_t> busVoltage
-
std::optional<uint16_t> deviceTemperature
-
inline ResetStatusMessage()
-
class RingBuffer
- #include <ringbuffer.h>
Public Functions
-
RingBuffer(size_t bufferSize)
-
~RingBuffer()
-
const uint8_t &operator[](size_t offset) const
-
size_t size() const
-
void pop_front()
-
void pop(size_t count)
-
const uint8_t &get(size_t offset) const
-
bool write(const uint8_t *addr, size_t count)
-
bool write(const std::vector<uint8_t> &source)
-
bool read(uint8_t *dest, size_t startIndex, size_t length) const
-
void clear()
-
inline constexpr size_t capacity() const
Public Static Attributes
-
static constexpr auto MaxSize = 1ull << ((8 * sizeof(size_t)) - 1)
-
RingBuffer(size_t bufferSize)
-
struct ScriptStatus
- #include <scriptstatuspacket.h>
Public Members
-
CoreMiniStatus status
-
uint32_t sectorOverflows
-
uint32_t numRemainingSectorBuffers
-
uint32_t lastSector
-
uint32_t readBinSize
-
uint32_t minSector
-
uint32_t maxSector
-
uint32_t currentSector
-
uint32_t coreminiCreateTimeMsb
-
uint32_t coreminiCreateTimeLsb
-
uint16_t zero2
-
uint16_t zero3
-
uint16_t fileChecksum
-
uint16_t coreminiVersion
-
uint16_t coreminiHeaderSize
-
uint16_t coreminiEngineMinVersion
-
uint16_t coreminiScriptMinEngineVers
-
uint8_t eolResults1
-
uint8_t eolResults2
-
uint8_t eolResults3
-
uint8_t zero6
-
uint8_t diagErrCode
-
uint8_t diagErrCodeCount
-
uint8_t spiFpgaVers1
-
uint8_t spiFpgaVers2
-
uint16_t maxCoreminiSizeKB
-
uint16_t maxCoreminiFlashSizeKB
Public Static Functions
-
static std::shared_ptr<ScriptStatusMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
CoreMiniStatus status
-
class ScriptStatusMessage : public icsneo::Message
- #include <scriptstatusmessage.h>
Public Functions
-
inline ScriptStatusMessage()
Public Members
-
bool isEncrypted = false
-
bool isCoreminiRunning = false
-
uint32_t sectorOverflows = 0
-
uint32_t numRemainingSectorBuffers = 0
-
uint32_t lastSector = 0
-
uint32_t readBinSize = 0
-
uint32_t minSector = 0
-
uint32_t maxSector = 0
-
uint32_t currentSector = 0
-
uint64_t coreminiCreateTime = 0
-
uint16_t fileChecksum = 0
-
uint16_t coreminiVersion = 0
-
uint16_t coreminiHeaderSize = 0
-
uint8_t diagnosticErrorCode = 0
-
uint8_t diagnosticErrorCodeCount = 0
-
uint16_t maxCoreminiSizeKB = 0
-
inline ScriptStatusMessage()
-
class SerialNumberMessage : public icsneo::Main51Message
- #include <serialnumbermessage.h>
-
class Servd : public icsneo::Driver
- #include <servd.h>
Public Functions
-
Servd(const device_eventhandler_t &err, neodevice_t &forDevice, const Address &address)
-
~Servd() override
-
virtual bool open() override
-
virtual bool isOpen() override
-
virtual bool close() override
-
virtual bool enableCommunication(bool enable, bool &sendMsg) override
-
inline virtual driver_finder_t getFinder() override
Public Static Functions
-
static void Find(std::vector<FoundDevice> &foundDevices)
-
static bool Enabled()
-
Servd(const device_eventhandler_t &err, neodevice_t &forDevice, const Address &address)
-
struct SNeoMostGatewaySettings
- #include <neovifiresettings.h>
-
class Socket
- #include <socket.h>
Public Types
-
using SocketHandleType = int
Public Functions
-
inline ~Socket()
-
inline bool set_reuse(bool value)
-
inline bool set_nonblocking()
-
inline bool set_rcvbuf(uint32_t size)
-
inline bool set_sndbuf(uint32_t size)
-
inline bool poll(const std::chrono::milliseconds &timeout, bool &in)
-
inline bool send(const void *buffer, size_t size)
-
inline bool recv(void *buffer, size_t &size)
-
template<typename REQ, typename RES>
inline bool transceive(REQ &&request, RES &&response, const std::chrono::milliseconds &timeout)
-
inline operator bool() const
-
inline operator SocketHandleType() const
-
using SocketHandleType = int
-
class StreamOutput : public icsneo::MessageCallback
- #include <streamoutput.h>
Subclassed by icsneo::A2BWAVOutput
-
class SupportedFeaturesMessage : public icsneo::Message
- #include <supportedfeaturesmessage.h>
Public Functions
-
inline SupportedFeaturesMessage()
Public Members
-
std::set<SupportedFeature> features
-
inline SupportedFeaturesMessage()
-
struct SupportedFeaturesPacket
- #include <supportedfeaturespacket.h>
Public Static Functions
-
static std::shared_ptr<SupportedFeaturesMessage> DecodeToMessage(const std::vector<uint8_t> &bytes)
-
static std::shared_ptr<SupportedFeaturesMessage> DecodeToMessage(const std::vector<uint8_t> &bytes)
-
class TC10StatusMessage : public icsneo::Message
- #include <tc10statusmessage.h>
Public Functions
-
inline TC10StatusMessage(const TC10WakeStatus &wakeStatus, const TC10SleepStatus &sleepStatus)
Public Static Functions
-
static std::shared_ptr<TC10StatusMessage> DecodeToMessage(const std::vector<uint8_t> &bytestream)
-
inline TC10StatusMessage(const TC10WakeStatus &wakeStatus, const TC10SleepStatus &sleepStatus)
-
class TCP : public icsneo::Driver
- #include <tcp.h>
Public Functions
-
TCP(const device_eventhandler_t &err, NetworkInterface on, uint32_t dstIP, uint16_t dstPort)
-
inline ~TCP() override
-
virtual bool open() override
-
virtual bool isOpen() override
-
virtual bool close() override
-
inline virtual bool isEthernet() const override
-
inline virtual driver_finder_t getFinder() override
Public Static Functions
-
static void Find(std::vector<FoundDevice> &foundDevices)
-
struct NetworkInterface
- #include <tcp.h>
-
TCP(const device_eventhandler_t &err, NetworkInterface on, uint32_t dstIP, uint16_t dstPort)
-
struct TransmitMessage
- #include <transmitmessage.h>
Public Members
-
uint32_t clientId
-
uint32_t networkId
-
uint32_t reserved[3]
-
struct icsneo::TransmitMessage options
-
uint8_t commonHeader[messageCommonHeaderSize]
Public Static Functions
Public Static Attributes
-
static constexpr size_t messageOptionsOffset = 0
-
static constexpr size_t messageOptionsSize = 20
-
static constexpr size_t messageCommonHeaderOffset = messageOptionsOffset + messageOptionsSize
-
static constexpr size_t messageCommonHeaderSize = 28
-
uint32_t clientId
-
class ValueCAN3 : public icsneo::Device
- #include <valuecan3.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE_BY_SERIAL_RANGE (ValueCAN3, DeviceType::VCAN3, "80000", "139999")
-
inline virtual ProductID getProductID() const override
-
struct valuecan3_settings_t
- #include <valuecan3settings.h>
Public Members
-
CAN_SETTINGS can1
-
CAN_SETTINGS can2
-
uint16_t network_enables
-
uint16_t network_enabled_on_boot
-
uint16_t iso15765_separation_time_offset
-
uint16_t perf_en
-
uint16_t misc_io_initial_ddr
-
uint16_t misc_io_initial_latch
-
uint16_t misc_io_report_period
-
uint16_t misc_io_on_report_events
-
CAN_SETTINGS can1
-
class ValueCAN3Settings : public icsneo::IDeviceSettings
- #include <valuecan3settings.h>
-
class ValueCAN4 : public icsneo::Device
- #include <valuecan4.h>
Subclassed by icsneo::ValueCAN4Industrial, icsneo::ValueCAN4_1, icsneo::ValueCAN4_2, icsneo::ValueCAN4_2EL, icsneo::ValueCAN4_4
-
class ValueCAN4_1 : public icsneo::ValueCAN4
- #include <valuecan4-1.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (ValueCAN4_1, DeviceType::VCAN4_1, "V1")
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct valuecan4_1_2_settings_t
- #include <valuecan4settings.h>
Public Members
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
uint64_t network_enables
-
uint64_t termination_enables
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t network_enabled_on_boot
-
int16_t iso15765_separation_time_offset
-
STextAPISettings text_api
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t reserved
-
struct icsneo::valuecan4_1_2_settings_t flags
-
uint16_t perf_en
-
class ValueCAN4_1_2Settings : public icsneo::IDeviceSettings
- #include <valuecan4-1-2settings.h>
Subclassed by icsneo::ValueCAN4_1Settings, icsneo::ValueCAN4_2Settings
Public Functions
-
class ValueCAN4_1Settings : public icsneo::ValueCAN4_1_2Settings
- #include <valuecan4-1settings.h>
-
class ValueCAN4_2 : public icsneo::ValueCAN4
- #include <valuecan4-2.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (ValueCAN4_2, DeviceType::VCAN4_2, "V2")
-
inline virtual std::string getProductName() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
class ValueCAN4_2EL : public icsneo::ValueCAN4
- #include <valuecan4-2el.h>
Public Types
Public Functions
- ICSNEO_FINDABLE_DEVICE (ValueCAN4_2EL, DeviceType::VCAN4_2EL, "VE")
-
inline virtual std::string getProductName() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
class ValueCAN4_2ELSettings : public icsneo::ValueCAN4_4_2ELSettings
- #include <valuecan4-2elsettings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class ValueCAN4_2Settings : public icsneo::ValueCAN4_1_2Settings
- #include <valuecan4-2settings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class ValueCAN4_4 : public icsneo::ValueCAN4
- #include <valuecan4-4.h>
Public Types
Public Functions
- ICSNEO_FINDABLE_DEVICE (ValueCAN4_4, DeviceType::VCAN4_4, "V4")
-
inline virtual std::string getProductName() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct valuecan4_4_2el_settings_t
- #include <valuecan4settings.h>
Public Members
-
uint16_t perf_en
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
CAN_SETTINGS can3
-
CANFD_SETTINGS canfd3
-
CAN_SETTINGS can4
-
CANFD_SETTINGS canfd4
-
uint16_t network_enables
-
uint16_t network_enables_2
-
LIN_SETTINGS lin1
-
uint16_t network_enabled_on_boot
-
int16_t iso15765_separation_time_offset
-
uint16_t iso_9141_kwp_enable_reserved
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1
-
uint16_t iso_parity_1
-
uint16_t iso_msg_termination_1
-
uint16_t network_enables_3
-
STextAPISettings text_api
-
uint64_t termination_enables
-
ETHERNET_SETTINGS ethernet
-
uint32_t enableLatencyTest
-
uint32_t enablePcEthernetComm
-
uint32_t reserved
-
struct icsneo::valuecan4_4_2el_settings_t flags
-
uint16_t pwr_man_enable
-
uint16_t pwr_man_timeout
-
ETHERNET_SETTINGS2 ethernet2
-
uint16_t perf_en
-
struct valuecan4_4_2el_status_t
- #include <valuecan4settings.h>
-
class ValueCAN4_4_2ELSettings : public icsneo::IDeviceSettings
- #include <valuecan4-4-2elsettings.h>
Subclassed by icsneo::ValueCAN4_2ELSettings, icsneo::ValueCAN4_4Settings
-
class ValueCAN4_4Settings : public icsneo::ValueCAN4_4_2ELSettings
- #include <valuecan4-4settings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
struct valuecan4_industrial_settings_t
- #include <valuecan4settings.h>
Public Members
-
CAN_SETTINGS can1
-
CANFD_SETTINGS canfd1
-
CAN_SETTINGS can2
-
CANFD_SETTINGS canfd2
-
ETHERNET_SETTINGS ethernet
-
LIN_SETTINGS lin1
-
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings
-
uint16_t iso_parity
-
uint16_t iso_msg_termination
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t perf_en
-
int16_t iso15765_separation_time_offset
-
uint16_t network_enabled_on_boot
-
uint64_t word
-
uint16_t network_enables
-
uint16_t network_enables_2
-
uint16_t network_enables_3
-
union icsneo::valuecan4_industrial_settings_t network_enables
-
uint64_t termination_enables
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t busMessagesToAndroid
-
uint32_t enablePcEthernetComm
-
uint32_t reserved
-
struct icsneo::valuecan4_industrial_settings_t flags
-
ETHERNET_SETTINGS2 ethernet2
-
CAN_SETTINGS can1
-
class ValueCAN4Industrial : public icsneo::ValueCAN4
- #include <valuecan4industrial.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (ValueCAN4Industrial, DeviceType::VCAN4_IND, "IV")
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
class ValueCAN4IndustrialSettings : public icsneo::IDeviceSettings
- #include <valuecan4industrialsettings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
struct VersionReport
- #include <versionreport.h>
Public Functions
-
inline icsneo::DeviceAppVersion makeAppVersion() const
-
inline icsneo::DeviceAppVersion makeAppVersion() const
-
class VividCAN : public icsneo::Device
- #include <vividcan.h>
Public Functions
- ICSNEO_FINDABLE_DEVICE (VividCAN, DeviceType::VividCAN, "VV")
-
inline virtual bool goOnline() override
-
inline virtual bool goOffline() override
-
inline virtual bool isOnlineSupported() const override
-
inline virtual ProductID getProductID() const override
-
inline virtual const std::vector<ChipInfo> &getChipInfo() const override
Returns information for all potential chips, note some chips might not apply to a specific device depending on different hardware versions
-
inline virtual BootloaderPipeline getBootloader() override
Returns bootloader instructions
-
struct vividcan_settings_t
- #include <vividcansettings.h>
Public Members
-
uint32_t ecu_id
-
CAN_SETTINGS can1
-
SWCAN_SETTINGS swcan1
-
CAN_SETTINGS lsftcan1
-
uint16_t network_enables
-
uint16_t network_enabled_on_boot
-
uint16_t iso15765_separation_time_offset
-
uint16_t perf_en
-
uint32_t pwr_man_timeout
-
uint16_t pwr_man_enable
-
uint16_t can_switch_mode
-
uint16_t termination_enables
-
uint32_t disableUsbCheckOnBoot
-
uint32_t enableLatencyTest
-
uint32_t reserved
-
struct icsneo::vividcan_settings_t flags
-
uint32_t ecu_id
-
class VividCANSettings : public icsneo::IDeviceSettings
- #include <vividcansettings.h>
Public Functions
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
Some devices have groupings of networks, where software switchable termination can only be applied to one network in the group at a time. This function returns those groups for the given device.
If a device does not support CAN Termination, an empty vector is returned.
-
inline virtual bool refresh() override
-
inline virtual bool apply(bool permanent = true) override
-
inline virtual std::vector<TerminationGroup> getTerminationGroups() const override
-
class VSA
- #include <vsa.h>
Abstract VSA base class to store VSA record data read from VSA log file on disk
Subclassed by icsneo::VSA02, icsneo::VSA03, icsneo::VSA04, icsneo::VSA05, icsneo::VSA06, icsneo::VSA07, icsneo::VSA08, icsneo::VSA09, icsneo::VSA0C, icsneo::VSA6A, icsneo::VSAMessage
Public Types
-
enum class Type : uint16_t
Enum to determine what type of record is underlying VSA parent class
Values:
-
enumerator AA00
-
enumerator AA01
-
enumerator AA02
-
enumerator AA03
-
enumerator AA04
-
enumerator AA05
-
enumerator AA06
-
enumerator AA07
-
enumerator AA08
-
enumerator AA09
-
enumerator AA0A
-
enumerator AA0B
-
enumerator AA0C
-
enumerator AA0D
-
enumerator AA0E
-
enumerator AA0F
-
enumerator AA6A
-
enumerator Invalid
-
enumerator AA00
Public Functions
-
virtual ~VSA() = default
-
virtual uint64_t getTimestamp() = 0
Get the timestamp stored in this record
- Returns:
The record’s timestamp in 25 nanosecond ticks since January 1, 2007
-
inline bool isTimestampValid()
Determine whether this record has a valid timestamp. All invalid timestamps are set to the maximum value for a uint64_t.
- Returns:
True if the timestamp is set to a valid number
-
inline bool getChecksumFailed()
Determine if the checksum for this record failed
- Returns:
True if the checksum does not pass
Public Static Functions
-
enum class Type : uint16_t
-
class VSA02 : public icsneo::VSA
- #include <vsa02.h>
Class that contains data for Logdata records
Public Functions
-
VSA02(uint8_t *const bytes)
Constructor that parses the given bytestream
- Parameters:
bytes – Bystream that contains data for Logdata VSA records
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA02(uint8_t *const bytes)
-
class VSA03 : public icsneo::VSA
- #include <vsa03.h>
Class used to store event
Public Functions
-
VSA03(uint8_t *const bytes)
Constructor that extracts data from the given bytestream
- Parameters:
bytes – Bytestream to extract VSA record data from
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA03(uint8_t *const bytes)
-
class VSA04 : public icsneo::VSA
- #include <vsa04.h>
Class that contains a partition info record
Public Functions
-
VSA04(uint8_t *const bytes)
Constructor that created partition info record from bytestream
- Parameters:
bytes – Bytestream to create this record from
-
inline virtual uint64_t getTimestamp() override
Get the timestamp of this record in 25 nanosecond ticks since January 1, 2007
- Returns:
Timestamp of this record in 25 nanosecond ticks since January 1, 2007
-
VSA04(uint8_t *const bytes)
-
class VSA05 : public icsneo::VSA
- #include <vsa05.h>
Class that holds data for application error records
Public Functions
-
VSA05(uint8_t *const bytes)
Constructor to convert bytestream into application error record
- Parameters:
bytes – The bytestream containing the record data
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA05(uint8_t *const bytes)
-
class VSA06 : public icsneo::VSA
- #include <vsa06.h>
Class that holds data for an internal/debug VSA record
Public Functions
-
VSA06(uint8_t *const bytes)
Constructor to convert bytestream into internal/debug record
- Parameters:
bytes – Bytestream to parse into internal/debug record
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA06(uint8_t *const bytes)
-
class VSA07 : public icsneo::VSA
- #include <vsa07.h>
Class that holds data for an internal/debug VSA record
Public Functions
-
VSA07(uint8_t *const bytes)
Constructor to convert bytestream into internal/debug record
- Parameters:
bytes – Bytestream to parse into internal/debug record
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA07(uint8_t *const bytes)
-
class VSA08 : public icsneo::VSA
- #include <vsa08.h>
Class to store data for a buffer information record
Public Functions
-
VSA08(uint8_t *const bytes)
Constructor to convert a bytestream to a buffer info record
- Parameters:
bytes – Bytestream to convert into a buffer record
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA08(uint8_t *const bytes)
-
class VSA09 : public icsneo::VSA
- #include <vsa09.h>
Class used to store data for a Device Information VSA Record
Public Functions
-
VSA09(uint8_t *const bytes)
Constructor to convert bytestream to Device Information VSA Record
- Parameters:
bytes – Bytestream to convert into Device Information Record
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA09(uint8_t *const bytes)
-
class VSA0B : public icsneo::VSAMessage
- #include <vsa0b.h>
Class that holds single-record message records
Public Functions
-
VSA0B(uint8_t *const bytes)
Constructor that reads message record data from bytestream
- Parameters:
bytes – Bytestream to read message record data from
Determine whether to filter out this message record
- Parameters:
filter – The filter to check this record against
- Returns:
True if this record has passed the filter (i.e., is not being filtered out)
-
inline virtual uint64_t getTimestamp() override
Get the timestamp of this record in 25 nanosecond ticks since January 1, 2007
- Returns:
Timestamp of this record in 25 nanosecond ticks since January 1, 2007
-
VSA0B(uint8_t *const bytes)
-
class VSA0C : public icsneo::VSA
- #include <vsa0c.h>
Class used to hold data for a PCM Audio VSA Record
Public Functions
-
VSA0C(uint8_t *const bytes)
Constructor to convert bytestream to PCM Audio Record
- Parameters:
bytes – Bytestream to parse
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA0C(uint8_t *const bytes)
-
class VSA0D : public icsneo::VSAExtendedMessage
- #include <vsa0d.h>
Base class for VSA0D extended message record types
Subclassed by icsneo::VSA0DConsecutive, icsneo::VSA0DFirst
Public Functions
-
VSA0D(uint8_t *const bytes, uint8_t *const messageBytes, size_t numBytes, uint32_t &runningChecksum, Network::CoreMini networkId = static_cast<Network::CoreMini>(0xFFFFu))
Constructor for VSA0D parent class. Passes most information to VSAExtendedMessage constructor.
- Parameters:
bytes – Bytestream to read record data from
messageBytes – Bytestream starting at the payload of this message record
numBytes – The length of the payload of this message record
runningChecksum – Checksum for the payload bytes of this sequence of extended message records
networkId – The CoreMini Network ID for this record
-
VSA0D(uint8_t *const bytes, uint8_t *const messageBytes, size_t numBytes, uint32_t &runningChecksum, Network::CoreMini networkId = static_cast<Network::CoreMini>(0xFFFFu))
-
class VSA0DConsecutive : public icsneo::VSA0D
- #include <vsa0d.h>
Class holding data for subsequent records in series of VSA0D extended message records
Public Functions
Constructor that parses first 32 bytes of VSA0D record
Determine whether to filter out this message record. Utilizes the filter from the first record.
- Parameters:
filter – The filter to check this record against
- Returns:
True if this record passes the filter
-
inline virtual uint64_t getTimestamp() override
Get the timestamp of this record in 25 nanosecond ticks since January 1, 2007.
- Returns:
Timestamp in 25 nanosecond ticks since January 1, 2007.
-
class VSA0DFirst : public icsneo::VSA0D
- #include <vsa0d.h>
Class holding data for the first record in a series of VSA0D extended message records
Public Functions
-
VSA0DFirst(uint8_t *const bytes, uint32_t &runningChecksum)
Constructor that parses first 32 bytes of bytestream into readable data.
- Parameters:
bytes – Bytestream to parse VSA record from
Reserve memory in the packet data vector to store message data from this record and subsequent consecutive records.
- Parameters:
packet – The packet to reserve memory in
Determine whether to filter out this message record
- Parameters:
filter – The filter to check this record against
- Returns:
True if the record passes the filter
-
inline virtual uint64_t getTimestamp() override
Get the timestamp of this record. Timestamp indicates number of 25 nanosecond ticks since January 1, 2007.
- Returns:
The timestamp of this record
-
void reorderPayload(std::vector<uint8_t> &secondPayload)
Reorder bytes in the payload between this record and the second record in the sequence. The bytes are reordered to allow simple concatenation of payload bytes from records before creating and dispatching a packet.
- Parameters:
secondPayload – Reference to the payload from the second record in the sequence
-
VSA0DFirst(uint8_t *const bytes, uint32_t &runningChecksum)
-
class VSA0E : public icsneo::VSAExtendedMessage
- #include <vsa0e.h>
Base class for VSA0E extended message record types
Subclassed by icsneo::VSA0EConsecutive, icsneo::VSA0EFirst
Public Functions
-
VSA0E(uint8_t *const bytes, uint8_t *const messageBytes, size_t numBytes, uint32_t &runningChecksum, Network::CoreMini networkId = static_cast<Network::CoreMini>(0xFFFFu))
Constructor for VSA0E parent class. Passes most information to VSAExtendedMessage constructor.
- Parameters:
bytes – Bytestream to read record data from
messageBytes – Bytestream starting at the payload of this message record
numBytes – The length of the payload of this message record
runningChecksum – Checksum for the payload bytes of this sequence of extended message records
networkId – The CoreMini Network ID for this record
-
VSA0E(uint8_t *const bytes, uint8_t *const messageBytes, size_t numBytes, uint32_t &runningChecksum, Network::CoreMini networkId = static_cast<Network::CoreMini>(0xFFFFu))
-
class VSA0EConsecutive : public icsneo::VSA0E
- #include <vsa0e.h>
Class holding data for subsequent records in series of VSA0E extended message records
Public Functions
Constructor that parses first 32 bytes of VSA0E record
Determine whether to filter out this message record. Utilizes the filter from the first record.
- Parameters:
filter – The filter to check this record against
- Returns:
True if this record passes the filter
-
inline virtual uint64_t getTimestamp() override
Get the timestamp of this record in 25 nanosecond ticks since January 1, 2007.
- Returns:
Timestamp in 25 nanosecond ticks since January 1, 2007.
-
class VSA0EFirst : public icsneo::VSA0E
- #include <vsa0e.h>
Class holding data for the first record in a series of VSA0E extended message records
Public Functions
-
VSA0EFirst(uint8_t *const bytes, uint32_t &runningChecksum)
Constructor that parses first 32 bytes of bytestream into readable data.
- Parameters:
bytes – Bytestream to parse VSA record from
Reserve memory in the packet data vector to store message data from this record and subsequent consecutive records.
- Parameters:
packet – The packet to reserve memory in
Determine whether to filter out this message record
- Parameters:
filter – The filter to check this record against
- Returns:
True if the record passes the filter
-
inline virtual uint64_t getTimestamp() override
Get the timestamp of this record. Timestamp indicates number of 25 nanosecond ticks since January 1, 2007.
- Returns:
The timestamp of this record
-
void reorderPayload(std::vector<uint8_t> &secondPayload)
Reorder bytes in the payload between this record and the second record in the sequence. The bytes are reordered to allow simple concatenation of payload bytes from records before creating and dispatching a packet.
- Parameters:
secondPayload – Reference to the payload from the second record in the sequence
-
VSA0EFirst(uint8_t *const bytes, uint32_t &runningChecksum)
-
class VSA0F : public icsneo::VSAExtendedMessage
- #include <vsa0f.h>
Base class for VSA0F extended message record types
Subclassed by icsneo::VSA0FConsecutive, icsneo::VSA0FFirst
Public Functions
-
VSA0F(uint8_t *const bytes, uint8_t *const messageBytes, size_t numBytes, uint32_t &runningChecksum, Network::CoreMini networkId = static_cast<Network::CoreMini>(0xFFFFu))
Standard constructor for VSA0F parent class. Passes most information to VSAExtendedMessage constructor.
- Parameters:
bytes – Bytestream to read record data from
messageBytes – Bytestream starting at the payload of this message record
numBytes – The length of the payload of this message record
runningChecksum – Checksum for the payload bytes of this sequence of extended message records
networkId – The CoreMini Network ID for this record
-
VSA0F(uint8_t *const bytes, uint8_t *const messageBytes, size_t numBytes, uint32_t &runningChecksum, Network::CoreMini networkId = static_cast<Network::CoreMini>(0xFFFFu))
-
class VSA0FConsecutive : public icsneo::VSA0F
- #include <vsa0f.h>
Class holding data for subsequent records in series of VSA0D extended message records
Public Functions
Constructor that parses first 32 bytes of VSA0F record
Determine whether to filter out this message record. Utilizes the filter from the first record.
- Parameters:
filter – The filter to check this record against
- Returns:
True if this record passes the filter
-
inline virtual uint64_t getTimestamp() override
Get the timestamp of this record in 25 nanosecond ticks since January 1, 2007.
- Returns:
Timestamp in 25 nanosecond ticks since January 1, 2007.
-
class VSA0FFirst : public icsneo::VSA0F
- #include <vsa0f.h>
Class holding data for the first record in a series of VSA0F extended message records
Public Functions
-
VSA0FFirst(uint8_t *const bytes, uint32_t &runningChecksum)
Constructor that parses first 32 bytes of bytestream into readable data.
- Parameters:
bytes – Bytestream to parse VSA record from
Reserve memory in the packet data vector to store message data from this record and subsequent consecutive records.
- Parameters:
packet – The packet to reserve memory in
Determine whether to filter out this message record
- Parameters:
filter – The filter to check this record against
- Returns:
True if the record passes the filter
-
inline virtual uint64_t getTimestamp() override
Get the timestamp of this record. Timestamp indicates number of 25 nanosecond ticks since January 1, 2007.
- Returns:
The timestamp of this record
-
VSA0FFirst(uint8_t *const bytes, uint32_t &runningChecksum)
-
class VSA6A : public icsneo::VSA
- #include <vsa6a.h>
Class that contains data for a Logger Configuration Backup Record
Public Functions
-
VSA6A(uint8_t *const bytes)
Constructor to convert a bytestream to a Logger Configuration Backup Record
- Parameters:
bytes – Bytestream to convert to Logger Configuration Backup Record
-
inline virtual uint64_t getTimestamp() override
Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007
- Returns:
The timestamp for this record in 25 nanosecond ticks since January 1, 2007
-
VSA6A(uint8_t *const bytes)
-
class VSAExtendedMessage : public icsneo::VSAMessage
- #include <vsa.h>
Interface class for handling common functionality of VSA Extended Message records (AA0D, AA0E, AA0F)
Subclassed by icsneo::VSA0D, icsneo::VSA0E, icsneo::VSA0F
Public Functions
Appends the payload for this message to the given packet. Also sets the network of the packet if unset (used primarily for AA0F records which do not contain the network in the first extended message record).
- Parameters:
packet – The packet to append this record’s payload to
-
inline uint32_t getRecordCount() const
Get the total number of records for this extended message
- Returns:
Total number of records that this message spans
-
inline uint16_t getIndex()
Get the index of this record in the extended message sequence
- Returns:
The index of this record
-
inline uint16_t getSequenceNum()
Get the numerical id of the sequence of extended message records this record is a part of
- Returns:
The sequence number of this extended message record
-
struct VSAExtractionSettings
- #include <vsa.h>
Public Members
-
bool parseOldRecords = false
-
bool stopCoreMini = true
-
std::vector<VSAMessageReadFilter> filters
-
bool parseOldRecords = false
-
class VSAMessage : public icsneo::VSA
- #include <vsa.h>
Interface class for handling common functionality of VSAMessage record types (AA0B, AA0D, AA0E, AA0F)
Subclassed by icsneo::VSA0B, icsneo::VSAExtendedMessage
Public Functions
-
std::shared_ptr<Packet> getPacket() const
Construct a packet from the message payload and network
- Returns:
Packet constructed from payload and network
Reserve enough memory to store a CoreMini message in the given packet
- Parameters:
packet – The packet in which we are reserving memory for a message
Determine whether to filter out this VSAMessage record during parsing
- Parameters:
filter – The filter struct to check this message record against
- Returns:
True if this message passes the given filter
Public Static Attributes
-
static constexpr size_t CoreMiniPayloadSize = 24
-
std::shared_ptr<Packet> getPacket() const
-
struct VSAMessageReadFilter
- #include <vsa.h>
Struct used to exclude VSA message records from parse
Public Members
-
CaptureBitfield captureBitfield = UINT16_MAX
-
CaptureBitfield captureBitfield = UINT16_MAX
-
class VSAParser
- #include <vsaparser.h>
Class used to parse VSA records from bytestreams
Public Types
-
enum class RecordParseStatus : uint8_t
Enumerated values to determine status of attempt to parse out-of-context record from bytestream
Values:
-
enumerator NotARecordStart
-
enumerator Pad
-
enumerator Deprecated
-
enumerator ConsecutiveExtended
-
enumerator FilteredOut
-
enumerator UnknownRecordType
-
enumerator InsufficientData
-
enumerator Success
-
enumerator NotARecordStart
Public Functions
-
inline VSAParser(const device_eventhandler_t &report)
Constructor with default settings
- Parameters:
report – Handler to report APIEvents
-
inline VSAParser(const device_eventhandler_t &report, const Settings &settings)
Constructor with non-default settings
- Parameters:
report – Handler to report APIEvents
settings – The settings to use for this parser
-
bool parseBytes(uint8_t *const bytes, uint64_t arrLen)
Parse the given bytestream into VSA records and store them in vsaRecords. Non-terminated extended message record sequences are stored in a temporary buffer until they terminate.
- Parameters:
bytes – Bytestream to parse VSA records from
arrLen – The number of bytes in the bytestream
- Returns:
True if there was no failure or unhandled behavior during parse, else false
-
inline size_t size()
Get the number of records contained within the parser
- Returns:
Size of the vector of VSA records
-
inline bool empty()
Determine if number of records contained within the parser is 0
- Returns:
True if the parser record container is empty
-
inline void clearRecords()
Clear all fully-parsed records from the parser. Does not affect non-terminated extended message records stored in buffers.
Parse first record from the given bytestream.
- Parameters:
bytes – The bytestream to read from
arrLen – Length of the bytestream
record – Variable to pass out the record if able to parse
- Returns:
The status of the record parse
-
inline void setMessageFilter(const VSAMessageReadFilter &filter)
Set a message filter for the Settings for this VSAParser
- Parameters:
filter – The message filter to set for this VSAParser
-
void clearParseState()
Clear all extended message buffers and parse states
Extract all packets from fully-parsed VSA records and store them in the given buffer
- Parameters:
packets – The vector in which to store the packets from fully-parsed records
- Returns:
True if packets were successfully extracted
-
struct Settings
- #include <vsaparser.h>
Struct that determines which types of VSA records to extract from disk
Public Functions
-
inline bool operator==(const Settings &s)
Operator overload for equivalency of VSAParser::Settings struct
- Parameters:
s – The settings object to test against this settings object
- Returns:
True if the extraction settings are the same. Does not check the filter
-
inline bool operator!=(const Settings &s)
Operator overload for non-equivalency of VSAParser::Settings struct
- Parameters:
s – The settings object to test against this settings object
- Returns:
True if the extraction settings are not the same. Does not check the filter
Public Members
-
bool extractAA02 = true
-
bool extractAA03 = true
-
bool extractAA04 = true
-
bool extractAA05 = true
-
bool extractAA06 = true
-
bool extractAA07 = true
-
bool extractAA08 = true
-
bool extractAA09 = true
-
bool extractAA0B = true
-
bool extractAA0C = true
-
bool extractAA0D = true
-
bool extractAA0E = true
-
bool extractAA0F = true
-
bool extractAA6A = true
-
std::shared_ptr<VSAMessageReadFilter> messageFilter = nullptr
Public Static Functions
-
static inline Settings messageRecords()
Static constructor for VSAParser::Settings that only extracts message records (AA0B, AA0D, AA0E, AA0F)
-
inline bool operator==(const Settings &s)
-
enum class RecordParseStatus : uint8_t
-
struct WaitPhase : public icsneo::BootloaderPhase
- #include <bootloaderpipeline.h>
Public Functions
-
inline virtual Type getType() const override
-
inline WaitPhase(std::chrono::milliseconds timeout)
Public Members
-
std::chrono::milliseconds timeout
-
inline virtual Type getType() const override
-
struct WAVHeader
- #include <streamoutput.h>
Public Functions
-
WAVHeader() = default
-
inline WAVHeader(uint16_t nChannels, uint32_t sRate, uint16_t bps, uint32_t nSamples = 0)
-
inline void setHeader(uint16_t newNumChannels, uint32_t newSampleRate, uint16_t newBitsPerSample, uint32_t numSamples = 0)
-
inline void setNumSamples(uint32_t numSamples)
Public Members
-
uint32_t chunkId = WAV_CHUNK_ID
-
uint32_t chunkSize = WAV_DEFAULT_SIZE
-
uint32_t format = WAV_FORMAT
-
uint32_t subchunk1Id = WAV_SUBCHUNK1_ID
-
uint32_t subchunk1Size = WAV_SUBCHUNK1_SIZE
-
uint16_t audioFormat = WAV_AUDIO_FORMAT_PCM
-
uint16_t numChannels
-
uint32_t sampleRate
-
uint32_t byteRate
-
uint16_t blockAlign
-
uint16_t bitsPerSample
-
uint32_t subchunk2Id = WAV_SUBCHUNK2_ID
-
uint32_t subchunk2Size = WAV_DEFAULT_SIZE
Public Static Attributes
-
static constexpr uint32_t WAV_CHUNK_ID = 0x46464952
-
static constexpr uint32_t WAV_FORMAT = 0x45564157
-
static constexpr uint32_t WAV_SUBCHUNK1_ID = 0x20746d66
-
static constexpr uint32_t WAV_SUBCHUNK2_ID = 0x61746164
-
static constexpr uint16_t WAV_SUBCHUNK1_SIZE = 16
-
static constexpr uint16_t WAV_AUDIO_FORMAT_PCM = 1
-
static constexpr uint32_t WAV_DEFAULT_SIZE = 0
-
WAVHeader() = default