MF4_CLOSE_WRITER
Python Code
from flojoy import flojoy, Stateful, DataContainer
from typing import Optional
import can
@flojoy(deps={"python-can": "4.3.1", "asammdf": "7.4.1"})
def MF4_CLOSE_WRITER(
MF4_writer: Stateful,
default: Optional[Stateful] = None,
) -> Optional[DataContainer]:
"""Close a MF4 writer.
This closes the file that was opened by MF4_CREATE_WRITER.
Optional since it is call automatically when the program ends.
Usefull if you want to close (and save) the file before the program ends. Example, before uploading it to the cloud.
Parameters
----------
MF4_writer : Stateful
A mf4 writer object from a MF4_CREATE_WRITER block.
Returns
-------
Optional[DataContainer]
None
"""
writer: can.io.MF4Writer = MF4_writer.obj
writer.stop()
return None
Example App
This application demonstrates how to use multiple CAN blocks to connect to a PEAK-USB device and read messages from it. The PEAK-USB device is a USB-to-CAN interface that enables you to connect a computer to a CAN network. This device is used in this case to capture the messages of a particular sensor by filtering them directly at the kernel level, thus reducing the load on the CPU, and save those messages to a log file locally.
Once the app is done, the generated logs are exported to an S3 bucket to keep a record of the sensor’s data for further analysis.
To replicate this application, you must connect the PEAK-USB to your computer and install the required driver (refer to the PEAK_CONNECT
blocks for more information on the necessary driver for your platform). Then, simply specify the PEAK-USB channel in the required blocks, and this Flojoy application will log the messages received by the device!
Detecting channels
A valuable block is the PEAK_DETECT_AVAILABLE_DEVICE
. This block allows you to display the devices using the PCAN interface that are connected to your computer.