background image

 

Revision: 1.18 

CrossFire IX – Freely Programmable - Data Logger Edition - 
Programming Manual 

2018-12-21 

 

 

 

 

13

 

void WIFI_Init(WIFISerialBaudrate 
baudRate); 

Initialize WIFI module 

unsigned long 
WIFI_SendString(char* data); 

Send string to WIFI processor over USART. It is up to the 
WIFI processor what to do with the data. 

unsigned long WIFI_Send(unsigned 
char* data, int len); 

Send data to WIFI processor over USART. It is up to the WIFI 
processor what to do with the data. This call will not block. 

unsigned long 
WIFI_SendSync(unsigned char* data, 
int len, int timeoutMS); 

Send data to WIFI processor over USART. It is up to the WIFI 
processor what to do with the data. This call will block until 
data is sent or timeout occurs. 

void WIFI_Reset(void); 

Reset the WIFI circuit 

void WIFI_KeepInReset(void); 

Reset the WIFI circuit and keep it in reset. Call WIFI_Reset to 
start again. 

BOOL WIFI_GetMessagePtr(unsigned 
char **buf, unsigned long *len, 
UsartFlagsEnum* flags); 

Get message from WIFI message buffer. Note that the message 
is not copied, you get direct access to the usart buffer slot (for 
performance reason) 

BOOL WIFI_GetMessage(unsigned 
char* buf, unsigned long *len, 
UsartFlagsEnum* flags); 

Get message from WIFI message buffer. The message is copied 
to the buffer and should not be freed with 
WIFI_FreeLastMessage afterwards. 

void WIFI_FreeLastMessage(void); 

Free the last message in the message queue. Must be called 
after you have processed data returned by 
WIFI_GetMessagePtr. 

16.

 

Examples 

The CrossFire IX freely programmable Data Logger Edition is delivered with several examples. The 
examples are made in Atollic TrueSTUDIO IDE/Arduino IDE but can be converted to IAR 
Embedded Workbench if desired. The examples are divided in two parts. One part is running on 
the IX main processor and one part is running on the Wi-Fi slave processor. 

Note that all examples need additional testing and error management to be used as products. 

16.1.

 

The CANWifiGateway example 

The CANWIFIGateway example shows how to read CAN messages from the CAN bus and send 
them over Wi-Fi and vice versa. Data is sent with UDP for best performance. Data can be sent to a 
PC running CrossFire IX Wi-Fi Tool, another CrossFire IX or any other unit supporting UDP. If 
connecting two IXs together, one IX must not set up an access point but connect to the other IX, or 
both IXs must connect to the same router. 

To run the example, make sure to compile and install the corresponding software on the Wi-Fi 
module. 

When starting the application the CrossFire IX will set up an access point. Use password 
“password001” to connect. The CrossFire IX will use IP address 192.168.4.1 and will give the first 
connected unit IP address 192.168.4.2  

Summary of Contents for CrossFire IX

Page 1: ...Revision 1 18 CrossFire IX Freely Programmable Data Logger Edition Programming Manual 2018 12 21 www crosscontrol com CrossFire IX Freely Programmable Data Logger Edition Programming Manual...

Page 2: ...ossFire IX Data Logger API 7 11 Interrupts 7 12 Hardware resources 8 13 Testing 8 14 Tools 8 14 1 Upgrading the firmware of the CrossFire IX over Wi Fi 8 15 Functionality of the Data Logger Edition 10...

Page 3: ...1 6 Added info about the examples CMM 2018 11 07 1 7 Minor changes regarding the Wi Fi module CMM 2018 11 09 1 8 Updated examples chapter CMM 2018 11 20 1 9 Name change to Programming Manual CMM 2018...

Page 4: ...machine is used during special supervision Especially if the firmware written allows messages coming over Wi Fi to control outputs or to send CAN messages However note that even if outputs or CAN is...

Page 5: ...ed Workbench For programming the Wi Fi slave processor several development environments are available The development environment recommended by CrossControl is the Arduino IDE The Arduino IDE can be...

Page 6: ...ed in the Boards Manager In the menu under Tools Board make sure to select the NodeMCU 0 9 this is not exactly right but close enough To create a binary for CrossFire IX select Sketch Export compiled...

Page 7: ...sion of the CrossFire IX Tool supporting upgrade of the Wi Fi processor The tool is available in the Tools CrossFire IX Tool DLE folder 9 Libraries To make it possible to use the data logger functions...

Page 8: ...ST the function PerformUnitTest will be executed after system init In this function a number of test functions are called The test functions will use printf to give user feedback so it is important th...

Page 9: ...Fi processor NodeMCU For the Wi Fi processor file you need to supply your own version number For the other binaries the version number is read from the binary file itself When all files are selected...

Page 10: ...optional Erase the SPI FLASH used by FOTA the first 1 5MB by clicking Erase FLASH This will erase any information that is stored there already Browse for the fwp file by pressing the button Click Down...

Page 11: ...possible to erase the complete FLASH at once Please note that writing to and erasing the external FLASH memory is a relatively slow operation Writing to the FLASH memory requires the memory to be eras...

Page 12: ...d data to an IoT cloud service like ThingSpeak Set up a local webserver that can be used for administering or supervising the CrossFire IX Fetch data from internal or external web servers for instance...

Page 13: ...should not be freed with WIFI_FreeLastMessage afterwards void WIFI_FreeLastMessage void Free the last message in the message queue Must be called after you have processed data returned by WIFI_GetMes...

Page 14: ...hat IP address and port is correct To perform a firmware upgrade over CAN digital in 1 must be connected to VBAT at start up This will active 1000 kbit s CAN bit rate and the unit will accept firmware...

Page 15: ...commercial use ThingSpeak is integrated with MATLAB making it possible to perform advanced data analysis The ThingSpeak example shows how to send data to the ThingSpeak IoT server The example sets up...

Page 16: ...message in the memory but takes more FLASH memory for small messages Besides from the actual message data and id also a 32 bit counter a 32 bit millisecond timer and a checksum is stored for each mess...

Page 17: ...is used for other things as well you must reserve the first 1 5MB if FOTA is going to be used When starting the example the CrossFire IX will set up an access point with name CrossFireIX_001 Use passw...

Page 18: ...gramming Manual 2018 12 21 18 https support crosscontrol com https atollic com https www arduino cc en Main Software https www espressif com en products hardware esp wroom 02 overview https thingspeak...

Page 19: ...in this handbook is supplied without any guarantees and can change without prior notification For CrossControl licensed software CrossControl grants you a license to under CrossControl intellectual p...

Reviews: