17 #if defined BUILD_CANSIM_DLL
18 # define DllExport __declspec(dllexport)
20 #ifdef BUILD_CANSIM_STATIC
23 #define DllExport __declspec(dllimport)
27# define DllExport __attribute__ ((visibility("default")))
37 #ifdef _CANSIMAPI_INT_H_
164 const uint32_t ReadTimeout,
165 const uint32_t WriteTimeout);
264 const uint8_t* Data);
323 const uint8_t* Data,
const uint8_t* DataMask,
324 const bool Async,
const bool response);
343 const uint8_t CanGatewayNumber,
const uint32_t CanID,
344 const bool ExtendedCanID,
const bool FastSlowSend,
const bool FD);
403 const uint8_t CanMap,
404 const uint32_t CanID,
406 const bool ExtendedCanID,
410 const uint8_t* Mask);
426 const int32_t MsgHandler,
427 const uint16_t StartSymbol,
428 const uint16_t StopSymbol);
448 const uint16_t SigHandler,
450 uint32_t *TimeFromReceive,
471 const uint16_t SigHandler,
473 uint32_t *TimeFromReceive,
510 const uint16_t MsgHandler,
512 const uint16_t StartSymbol,
513 const uint16_t StopSymbol,
514 const uint8_t MuxInfo);
530 const uint16_t SigHandler,
531 const uint16_t Value,
533 const bool response);
591 const uint16_t SigHandler,
592 const uint8_t ControlNumber,
593 const uint32_t MinValue,
594 const uint32_t MidValue,
595 const uint32_t MaxValue);
610 const uint8_t Sgroup,
611 const uint16_t Value);
636 const int32_t MsgHandler,
639 const uint8_t Length);
651 const uint16_t address,
652 const uint8_t length,
665 const uint16_t address,
666 const uint8_t length,
667 const uint8_t* data);
DllExport int32_t AddCrcCansim(CansimHandler Handle, const uint8_t *S_PDU_Kennungsfolge)
struct tagCanMessage * PtrCanMessage
DllExport int32_t RemoveRequestCansim(CansimHandler Handle, const uint16_t ReqHandler)
Remove message request - does not freeing memory, but lowering cansim's CPU usage.
DllExport void DeleteCansim(CansimHandler Handle)
DllExport int32_t RemoveMessageCansim(CansimHandler Handle, const uint16_t MsgHandler)
Removes message from Cansim,.
struct tagCanMessage CanMessage
struct tagRecvMsgCansim * PtrRecvMsgCansim
DllExport CansimHandler NewCansim(void)
DllExport void StopReceiverCansim(CansimHandler Handle)
Stop the receiver thread - check Cansim::StartReceiver.
DllExport int32_t DisableRequestCansim(CansimHandler Handle, const uint16_t ReqHandler)
Disable message request.
DllExport int32_t ConnectCansim(CansimHandler Handle, const char *COMPort, const uint32_t ReadTimeout, const uint32_t WriteTimeout)
Open serial connection to the CANSim4.
DllExport int32_t ResetCansim(CansimHandler Handle)
Reset Cansim device. It means that all messages, signals, etc. will be removed even default messages,...
DllExport int32_t WriteEepromCansim(CansimHandler Handle, const uint16_t address, const uint8_t length, const uint8_t *data)
Write to internal EEPROM memory.
DllExport int32_t RemoveSignalCansim(CansimHandler Handle, const uint16_t SigHandler)
Remove CAN signal specified by its handler. It does not freeing a memory but lowering Camsim's CPU lo...
DllExport int32_t GetHandlerCansim(CansimHandler Handle, const uint8_t CanMap, const uint8_t CanGatewayNumber, const uint32_t CanID, const bool ExtendedCanID, const bool FastSlowSend, const bool FD)
Get the specified message handler by Cansim request.
void(* PrintFunc)(const char *)
Definition: CansimAPI.h:47
void * CansimHandler
Definition: CansimAPI.h:33
DllExport void DebugCommCansim(CansimHandler Handle, const char *FileName)
DllExport int32_t SetSignalControlCansim(CansimHandler Handle, const uint16_t SigHandler, const uint8_t ControlNumber, const uint32_t MinValue, const uint32_t MidValue, const uint32_t MaxValue)
Set the Signal Control object TODO!
DllExport int32_t GetTimeCansim(CansimHandler Handle, time_t *time)
Get the Cansim unix time.
DllExport uint8_t DLC2length(uint8_t *DLC)
This method converts DLC to length according to: https://elearning.vector.com/mod/page/view....
DllExport int32_t ClearPrintFileCansim(CansimHandler Handle, FILE *PrintStream, LOG_LEVELS_CANSIM Level)
DllExport int32_t RequestSignalCansim(CansimHandler Handle, const int32_t MsgHandler, const uint16_t StartSymbol, const uint16_t StopSymbol)
This method gets a signal from a message specified by the requested message handler....
DllExport int32_t StartReceiverCansim(CansimHandler Handle)
This method starts thread for receiving messages. Designed for receiving asynchronous messages....
DllExport int32_t DisableMessageCansim(CansimHandler Handle, const uint16_t MsgHandler)
Disable message transmission to the CAN bus.
DllExport int32_t SignalReadValue32Cansim(CansimHandler Handle, const uint16_t SigHandler, uint32_t *Value, uint32_t *TimeFromReceive, bool GetLatest)
This method reads cached 32 bit value of the signal registered by Cansim::RequestSignal.
DllExport void PrintfInfCansim(CansimHandler Handle, const char *Text,...)
DllExport int32_t GetVersionCansim(CansimHandler Handle)
Get the cansim firmware api version.
DllExport int32_t AddMessageCansim(CansimHandler Handle, const PtrCanMessage Msg, const uint8_t *Data)
This method add and configure CAN message to the cansim device to transmit.
DllExport int32_t RequestMessageCansim(CansimHandler Handle, const uint8_t CanMap, const uint32_t CanID, const bool Enabled, const bool ExtendedCanID, const uint8_t DLC, const bool CheckDLC, const bool ReturnID, const uint8_t *Mask)
Method provide receiving specific CAN bus message to the serial line. Message register by this method...
DllExport int32_t RebootCansim(CansimHandler Handle, const bool Jump)
This method cause Cansim reboot. Takes about 2 seconds.
DllExport int32_t ChangeSignalSgroupCansim(CansimHandler Handle, const uint8_t Sgroup, const uint16_t Value)
Change signals values in whole group. Signal group has to be < 30!
DllExport int32_t EnableRequestCansim(CansimHandler Handle, const uint16_t ReqHandler)
Enable message request.
DllExport int32_t ClearPrintFunctionCansim(CansimHandler Handle, PrintFunc, LOG_LEVELS_CANSIM Level)
DllExport int32_t ReadAsyncMsgCansim(CansimHandler Handle, const int32_t MsgHandler, PtrRecvMsgCansim DataStruct, uint8_t *Data, const uint8_t Length)
Read buffered asynchronous message - nonblocking.
DllExport int32_t BootloaderCansim(CansimHandler Handle)
Cansim bootloader (regime "F").
DllExport void DisconnectCansim(CansimHandler Handle)
Method to close Cansim's communication port.
DllExport int32_t SignalReadValue64Cansim(CansimHandler Handle, const uint16_t SigHandler, uint64_t *Value, uint32_t *TimeFromReceive, bool GetLatest)
This method reads cached 64 bit value of the signal registered by Cansim::RequestSignal.
DllExport int32_t AddSignalCansim(CansimHandler Handle, const uint16_t MsgHandler, const uint8_t Group, const uint16_t StartSymbol, const uint16_t StopSymbol, const uint8_t MuxInfo)
This method adds a signal to a message specified by handler. Signal range is specified by start and s...
DllExport int32_t SetTimeCansim(CansimHandler Handle, time_t time)
Set the Cansim unix time.
DllExport int32_t SetMessageDataCansim(CansimHandler Handle, const uint16_t MsgHandler, const uint8_t *Data, const uint8_t *DataMask, const bool Async, const bool response)
Set the CAN Message value.
DllExport int32_t GetInternalThreadStatus(CansimHandler Handle)
DllExport void PrintfErrCansim(CansimHandler Handle, const char *Text,...)
DllExport int32_t ExecuteSignalChangeCansim(CansimHandler Handle, const bool response)
Execute signals change triggered on this event. It may be single signal groups or single signal which...
DllExport int32_t SetPrintFunctionCansim(CansimHandler Handle, PrintFunc, LOG_LEVELS_CANSIM Level)
LOG_LEVELS_CANSIM
Definition: CansimAPI.h:49
@ ERROR_LEVEL_CANSIM
Definition: CansimAPI.h:50
@ COMM_LEVEL_CANSIM
Definition: CansimAPI.h:52
@ INFO_LEVEL_CANSIM
Definition: CansimAPI.h:51
DllExport int32_t BlobRemoveCansim(CansimHandler Handle)
Remove blob from cansim memory.
DllExport int32_t EnableMessageCansim(CansimHandler Handle, const uint16_t MsgHandler)
Enable message transmission to the CAN bus.
DllExport int32_t DisableCrcCansim(CansimHandler Handle, const uint16_t MsgHandler)
DllExport int32_t ReadEepromCansim(CansimHandler Handle, const uint16_t address, const uint8_t length, uint8_t *data)
Read Cansim internal EEPROM memory.
struct tagRecvMsgCansim RecvMsgCansim
DllExport int32_t SetPrintFileCansim(CansimHandler Handle, FILE *PrintStream, LOG_LEVELS_CANSIM Level)
DllExport int32_t ChangeCrcCansim(CansimHandler Handle, const uint16_t MsgHandler, uint8_t *S_PDU_Kennungsfolge)
DllExport int32_t SignalChangeValueCansim(CansimHandler Handle, const uint16_t SigHandler, const uint16_t Value, const bool async, const bool response)
Change value of signal specified by handler.
#define DllExport
Definition: CansimAPI.h:27
This structure contains all possible options for the configuration of a CAN message for transmitting ...
Definition: CansimAPI.h:98
uint8_t CanGatewayNumber
Member 'CanGatewayNumber' should contains same value as 'CanMap' (not implemented).
Definition: CansimAPI.h:101
bool Error
TODO(JKI): Nevim je potreba dodelat - souvisi s CAN FD.
Definition: CansimAPI.h:105
uint32_t ID
Member 'ID' contains CAN message ID (length depends if is Extended ID enabled).
Definition: CansimAPI.h:102
bool ExtendedID
Member 'ExtendedID' contains flag if message use extended CAN ID.
Definition: CansimAPI.h:103
bool FastSlowSend
Message is transmitted with tagCanMessage::PeriodFast.
Definition: CansimAPI.h:109
bool BRS
Member 'FD' flag if is CAN FD BRS enabled.
Definition: CansimAPI.h:106
bool GroupID
Member 'GroupID' contains an ID of group for bulk management.
Definition: CansimAPI.h:107
uint16_t Period
Member 'Period' contains periode time of the CAN message in milliseconds.
Definition: CansimAPI.h:111
uint16_t PeriodFast
Member 'Period' contains fast sending period in milliseconds The definition of inhibit time is in CAN...
Definition: CansimAPI.h:112
bool FD
Member 'FD' flag if is CAN FD enabled.
Definition: CansimAPI.h:104
uint8_t CanMap
Member 'CanMap' contains mask of output CAN interfaces.
Definition: CansimAPI.h:100
uint16_t InhibitTime
Member 'InhibitTime' contains inhibit time of message in milliseconds. The definition of inhibit time...
Definition: CansimAPI.h:110
bool Enable
Member 'Enable' contains a flag if the message will be enabled instantly after Cansim receive configu...
Definition: CansimAPI.h:108
uint8_t DLC
Member 'DLC' contains a CAN Data Length Code. https://elearning.vector.com/mod/page/view....
Definition: CansimAPI.h:99
Definition: CansimAPI.h:115
uint8_t DLC
Definition: CansimAPI.h:119
uint16_t CanId16
Definition: CansimAPI.h:117
uint32_t timestamp
Definition: CansimAPI.h:124
bool BRS
Definition: CansimAPI.h:123
bool FD
Definition: CansimAPI.h:121
bool Error
Definition: CansimAPI.h:122
uint8_t CanPort
Definition: CansimAPI.h:118
int32_t Handler
Definition: CansimAPI.h:116
bool ExtendedID
Definition: CansimAPI.h:120