├── CONTRIBUTING.md ├── License.md ├── README.md ├── Release_Notes.html ├── c_examples ├── Makefile ├── interfaces.hpp ├── main_data_reception.cpp ├── main_image_ping_pong_usb_wcid.cpp ├── main_serial_read.cpp ├── usb_async_interface.cpp ├── usb_interface.cpp └── usb_interface.hpp ├── c_library ├── ai_logging.c └── ai_logging.h ├── documentation ├── c_library_documentation │ └── html │ │ ├── ai__logging_8c.html │ │ ├── ai__logging_8c.js │ │ ├── ai__logging_8c_source.html │ │ ├── ai__logging_8h.html │ │ ├── ai__logging_8h.js │ │ ├── ai__logging_8h_source.html │ │ ├── annotated.html │ │ ├── annotated_dup.js │ │ ├── bc_s.png │ │ ├── bdwn.png │ │ ├── classes.html │ │ ├── closed.png │ │ ├── doc.png │ │ ├── doxy-boot.js │ │ ├── doxygen.css │ │ ├── doxygen.svg │ │ ├── dynsections.js │ │ ├── files.html │ │ ├── files_dup.js │ │ ├── folderclosed.png │ │ ├── folderopen.png │ │ ├── globals.html │ │ ├── globals_func.html │ │ ├── index.html │ │ ├── jquery.js │ │ ├── menu.js │ │ ├── menudata.js │ │ ├── nav_f.png │ │ ├── nav_g.png │ │ ├── nav_h.png │ │ ├── navtree.css │ │ ├── navtree.js │ │ ├── navtreedata.js │ │ ├── navtreeindex0.js │ │ ├── open.png │ │ ├── resize.js │ │ ├── search │ │ ├── all_0.html │ │ ├── all_0.js │ │ ├── all_1.html │ │ ├── all_1.js │ │ ├── all_2.html │ │ ├── all_2.js │ │ ├── classes_0.html │ │ ├── classes_0.js │ │ ├── close.svg │ │ ├── files_0.html │ │ ├── files_0.js │ │ ├── functions_0.html │ │ ├── functions_0.js │ │ ├── functions_1.html │ │ ├── functions_1.js │ │ ├── functions_2.html │ │ ├── functions_2.js │ │ ├── mag_sel.svg │ │ ├── nomatches.html │ │ ├── search.css │ │ ├── search.js │ │ ├── search_l.png │ │ ├── search_m.png │ │ ├── search_r.png │ │ └── searchdata.js │ │ ├── splitbar.png │ │ ├── structai__logging__buffer.html │ │ ├── structai__logging__buffer.js │ │ ├── structai__logging__device__t.html │ │ ├── structai__logging__device__t.js │ │ ├── structai__logging__message.html │ │ ├── structai__logging__message.js │ │ ├── structai__logging__packet__t.html │ │ ├── structai__logging__packet__t.js │ │ ├── structai__logging__shape.html │ │ ├── structai__logging__shape.js │ │ ├── structai__logging__tensor.html │ │ ├── structai__logging__tensor.js │ │ ├── sync_off.png │ │ ├── sync_on.png │ │ ├── tab_a.png │ │ ├── tab_b.png │ │ ├── tab_h.png │ │ ├── tab_s.png │ │ └── tabs.css └── python_documentation │ └── html │ ├── annotated.html │ ├── bc_s.png │ ├── bdwn.png │ ├── classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_backend-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_backend.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_payload_type-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_payload_type.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__buffer-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__buffer.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__buffer.png │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__device__t-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__device__t.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__device__t.png │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__message-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__message.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__message.png │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__packet__t-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__packet__t.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__packet__t.png │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__shape-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__shape.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__shape.png │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__tensor-members.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__tensor.html │ ├── classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__tensor.png │ ├── classai__logging_1_1core_1_1exceptions_1_1_connection_exception.html │ ├── classai__logging_1_1core_1_1exceptions_1_1_connection_exception.png │ ├── classai__logging_1_1core_1_1exceptions_1_1_read_exception.html │ ├── classai__logging_1_1core_1_1exceptions_1_1_read_exception.png │ ├── classai__logging_1_1core_1_1interfaces_1_1_driver_interface-members.html │ ├── classai__logging_1_1core_1_1interfaces_1_1_driver_interface.html │ ├── classai__logging_1_1core_1_1interfaces_1_1_driver_interface.png │ ├── classai__logging_1_1decoders_1_1decoder_1_1_decoder_interface-members.html │ ├── classai__logging_1_1decoders_1_1decoder_1_1_decoder_interface.html │ ├── classai__logging_1_1decoders_1_1float__decoder_1_1_float_decoder-members.html │ ├── classai__logging_1_1decoders_1_1float__decoder_1_1_float_decoder.html │ ├── classai__logging_1_1decoders_1_1int__decoder_1_1_int_decoder-members.html │ ├── classai__logging_1_1decoders_1_1int__decoder_1_1_int_decoder.html │ ├── classai__logging_1_1decoders_1_1str__decoder_1_1_str_decoder-members.html │ ├── classai__logging_1_1decoders_1_1str__decoder_1_1_str_decoder.html │ ├── classai__logging_1_1drivers_1_1pyserialport_1_1_serial-members.html │ ├── classai__logging_1_1drivers_1_1pyserialport_1_1_serial.html │ ├── classai__logging_1_1drivers_1_1pyserialport_1_1_serial.png │ ├── classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver-members.html │ ├── classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.html │ ├── classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.png │ ├── classes.html │ ├── closed.png │ ├── dir_0fdff13a6bf7d3e0e4bce0f208d21ea8.html │ ├── dir_14bc92f4b96c8519b376567118ac28b3.html │ ├── dir_4270bfced15e0e73154b13468c7c9ad9.html │ ├── doc.png │ ├── doxygen.css │ ├── doxygen.svg │ ├── dynsections.js │ ├── folderclosed.png │ ├── folderopen.png │ ├── functions.html │ ├── functions_func.html │ ├── hierarchy.html │ ├── index.html │ ├── jquery.js │ ├── menu.js │ ├── menudata.js │ ├── nav_f.png │ ├── nav_g.png │ ├── nav_h.png │ ├── open.png │ ├── search │ ├── all_0.html │ ├── all_0.js │ ├── all_1.html │ ├── all_1.js │ ├── all_2.html │ ├── all_2.js │ ├── all_3.html │ ├── all_3.js │ ├── all_4.html │ ├── all_4.js │ ├── all_5.html │ ├── all_5.js │ ├── all_6.html │ ├── all_6.js │ ├── all_7.html │ ├── all_7.js │ ├── all_8.html │ ├── all_8.js │ ├── classes_0.html │ ├── classes_0.js │ ├── classes_1.html │ ├── classes_1.js │ ├── classes_2.html │ ├── classes_2.js │ ├── classes_3.html │ ├── classes_3.js │ ├── classes_4.html │ ├── classes_4.js │ ├── classes_5.html │ ├── classes_5.js │ ├── classes_6.html │ ├── classes_6.js │ ├── classes_7.html │ ├── classes_7.js │ ├── close.svg │ ├── functions_0.html │ ├── functions_0.js │ ├── functions_1.html │ ├── functions_1.js │ ├── functions_2.html │ ├── functions_2.js │ ├── functions_3.html │ ├── functions_3.js │ ├── functions_4.html │ ├── functions_4.js │ ├── mag_sel.svg │ ├── nomatches.html │ ├── search.css │ ├── search.js │ ├── search_l.png │ ├── search_m.png │ ├── search_r.png │ └── searchdata.js │ ├── splitbar.png │ ├── sync_off.png │ ├── sync_on.png │ ├── tab_a.png │ ├── tab_b.png │ ├── tab_h.png │ ├── tab_s.png │ └── tabs.css ├── generic_ui ├── ComboCheckBox.py ├── ConnectionWidget.py ├── Controller.py ├── Exporter.py ├── ImageWidget.py ├── InputWidget.py ├── MainWindow.py ├── Makefile ├── PacketFilterWidget.py ├── PlotWidget.py ├── RawTextWidget.py ├── RecorderWidget.py ├── StreamReader.py ├── TextLogWidget.py ├── ai_logging │ ├── .vscode │ │ └── settings.json │ ├── __init__.py │ ├── core │ │ ├── __init__.py │ │ ├── ai_logging_api.py │ │ ├── ai_logging_api_wrapper.py │ │ ├── exceptions.py │ │ ├── interfaces.py │ │ ├── libai_logging.dll │ │ ├── libai_logging.dylib │ │ └── libai_logging.so │ ├── decoders │ │ ├── __init__.py │ │ ├── decoder.py │ │ ├── float_decoder.py │ │ ├── int_decoder.py │ │ └── str_decoder.py │ └── drivers │ │ ├── __init__.py │ │ ├── pyserialport.py │ │ └── wcid_usb_driver.py ├── main.py ├── requirements.txt ├── res.py ├── res.qrc └── resources │ ├── st-logo.png │ ├── st-logo.svg │ └── x-cube-ai.png ├── host_library ├── Makefile └── main_dll.c ├── python_wrapper ├── ai_logging │ ├── .vscode │ │ └── settings.json │ ├── __init__.py │ ├── core │ │ ├── __init__.py │ │ ├── ai_logging_api.py │ │ ├── ai_logging_api_wrapper.py │ │ ├── exceptions.py │ │ ├── interfaces.py │ │ ├── libai_logging.dll │ │ ├── libai_logging.dylib │ │ └── libai_logging.so │ ├── decoders │ │ ├── __init__.py │ │ ├── decoder.py │ │ ├── float_decoder.py │ │ ├── int_decoder.py │ │ └── str_decoder.py │ └── drivers │ │ ├── __init__.py │ │ ├── pyserialport.py │ │ └── wcid_usb_driver.py ├── image_injection_demo.py ├── message_transmission_terminal.py ├── packet_reader_demo.py ├── requirements.txt └── st_logo.jpg └── stm32_examples ├── Drivers └── Components │ ├── Common │ ├── Release_Notes.html │ ├── _htmresc │ │ ├── mini-st.css │ │ └── st_logo.png │ ├── audio.h │ ├── camera.h │ ├── dpredriver.h │ ├── env_sensor.h │ ├── epd.h │ ├── idd.h │ ├── io.h │ ├── lcd.h │ ├── motion_sensor.h │ ├── pwrmon.h │ ├── ts.h │ └── usbtypecswitch.h │ ├── ft6x06 │ ├── Release_Notes.html │ ├── _htmresc │ │ ├── mini-st.css │ │ └── st_logo.png │ ├── ft6x06.c │ ├── ft6x06.h │ ├── ft6x06_conf_template.h │ ├── ft6x06_reg.c │ └── ft6x06_reg.h │ ├── is42s32800j │ ├── Release_Notes.html │ ├── _htmresc │ │ ├── mini-st.css │ │ └── st_logo.png │ ├── is42s32800j.c │ ├── is42s32800j.h │ └── is42s32800j_conf_template.h │ ├── lsm6dsl │ ├── Release_Notes.html │ ├── lsm6dsl.c │ ├── lsm6dsl.h │ ├── lsm6dsl_reg.c │ └── lsm6dsl_reg.h │ ├── mt25tl01g │ ├── Release_Notes.html │ ├── _htmresc │ │ ├── mini-st.css │ │ └── st_logo.png │ ├── mt25tl01g.c │ ├── mt25tl01g.h │ └── mt25tl01g_conf_template.h │ ├── otm8009a │ ├── Release_Notes.html │ ├── _htmresc │ │ ├── mini-st.css │ │ └── st_logo.png │ ├── otm8009a.c │ ├── otm8009a.h │ ├── otm8009a_reg.c │ └── otm8009a_reg.h │ └── ov9655 │ ├── Release_Notes.html │ ├── _htmresc │ ├── mini-st.css │ └── st_logo.png │ ├── ov9655.c │ ├── ov9655.h │ ├── ov9655_reg.c │ └── ov9655_reg.h ├── FILE_TO_DOWNLOAD_MANUALLY.md └── Projects ├── B-L475-IOT01A └── Examples │ ├── USB_CDC_Message_Transmission │ ├── .gitignore │ ├── Core │ │ ├── Inc │ │ │ ├── ai_logging.h │ │ │ ├── main.h │ │ │ ├── stm32l4xx_hal_conf.h │ │ │ └── stm32l4xx_it.h │ │ └── Src │ │ │ ├── ai_logging.c │ │ │ ├── main.c │ │ │ ├── stm32l4xx_hal_msp.c │ │ │ ├── stm32l4xx_it.c │ │ │ └── system_stm32l4xx.c │ ├── EWARM │ │ ├── .gitignore │ │ ├── Project.eww │ │ ├── USB_CDC_Message_Transmission.ewd │ │ ├── USB_CDC_Message_Transmission.ewp │ │ ├── startup_stm32l475xx.s │ │ ├── stm32l475xx_flash.icf │ │ └── stm32l475xx_sram.icf │ ├── STM32CubeIDE │ │ ├── .cproject │ │ ├── .gitignore │ │ ├── .project │ │ ├── Application │ │ │ └── User │ │ │ │ ├── Core │ │ │ │ ├── ai_logging.c │ │ │ │ ├── syscalls.c │ │ │ │ └── sysmem.c │ │ │ │ └── Startup │ │ │ │ └── startup_stm32l475vgtx.s │ │ ├── STM32L475VGTX_FLASH.ld │ │ └── STM32L475VGTX_RAM.ld │ ├── USB_CDC_Message_Transmission.ioc │ └── USB_DEVICE │ │ ├── App │ │ ├── usb_device.c │ │ ├── usb_device.h │ │ ├── usbd_cdc_if.c │ │ ├── usbd_cdc_if.h │ │ ├── usbd_desc.c │ │ └── usbd_desc.h │ │ └── Target │ │ ├── usbd_conf.c │ │ └── usbd_conf.h │ ├── USB_CDC_Multiple_Data_Transmission │ ├── .gitignore │ ├── .settings │ │ └── language.settings.xml │ ├── Core │ │ ├── Inc │ │ │ ├── ai_logging.h │ │ │ ├── b_l475e_iot01a1_bus.h │ │ │ ├── b_l475e_iot01a1_conf.h │ │ │ ├── b_l475e_iot01a1_errno.h │ │ │ ├── main.h │ │ │ ├── stm32l4xx_hal_conf.h │ │ │ └── stm32l4xx_it.h │ │ ├── Src │ │ │ ├── ai_logging.c │ │ │ ├── b_l475e_iot01a1_bus.c │ │ │ ├── main.c │ │ │ ├── stm32l4xx_hal_msp.c │ │ │ ├── stm32l4xx_it.c │ │ │ ├── syscalls.c │ │ │ ├── sysmem.c │ │ │ └── system_stm32l4xx.c │ │ └── Startup │ │ │ └── startup_stm32l475vgtx.s │ ├── EWARM │ │ ├── .gitignore │ │ ├── Project.eww │ │ ├── USB_CDC_Multiple_Data_Transmission.ewd │ │ ├── USB_CDC_Multiple_Data_Transmission.ewp │ │ ├── startup_stm32l475xx.s │ │ ├── stm32l475xx_flash.icf │ │ └── stm32l475xx_sram.icf │ ├── STM32CubeIDE │ │ ├── .cproject │ │ ├── .gitignore │ │ ├── .project │ │ ├── STM32L475VGTX_FLASH.ld │ │ └── STM32L475VGTX_RAM.ld │ ├── USB_CDC_Multiple_Data_Transmission.ioc │ └── USB_DEVICE │ │ ├── App │ │ ├── usb_device.c │ │ ├── usb_device.h │ │ ├── usbd_cdc_if.c │ │ ├── usbd_cdc_if.h │ │ ├── usbd_desc.c │ │ └── usbd_desc.h │ │ └── Target │ │ ├── usbd_conf.c │ │ └── usbd_conf.h │ └── USB_WCID_Accelerometer_Visualization │ ├── .gitignore │ ├── Core │ ├── Inc │ │ ├── RTE_Components.h │ │ ├── ai_logging.h │ │ ├── b_l475e_iot01a1_bus.h │ │ ├── b_l475e_iot01a1_conf.h │ │ ├── b_l475e_iot01a1_errno.h │ │ ├── custom_mems_conf.h │ │ ├── main.h │ │ ├── stm32l4xx_hal_conf.h │ │ ├── stm32l4xx_it.h │ │ ├── usbd_conf.h │ │ ├── usbd_core.h │ │ ├── usbd_ctlreq.h │ │ ├── usbd_def.h │ │ ├── usbd_desc.h │ │ ├── usbd_ioreq.h │ │ ├── usbd_wcid_interface.h │ │ └── usbd_wcid_streaming.h │ ├── Src │ │ ├── ai_logging.c │ │ ├── b_l475e_iot01a1_bus.c │ │ ├── main.c │ │ ├── stm32l4xx_hal_msp.c │ │ ├── stm32l4xx_it.c │ │ ├── syscalls.c │ │ ├── sysmem.c │ │ ├── system_stm32l4xx.c │ │ ├── usbd_conf.c │ │ ├── usbd_core.c │ │ ├── usbd_ctlreq.c │ │ ├── usbd_desc.c │ │ ├── usbd_ioreq.c │ │ ├── usbd_wcid_interface.c │ │ └── usbd_wcid_streaming.c │ └── Startup │ │ └── startup_stm32l475vgtx.s │ ├── EWARM │ ├── .gitignore │ ├── Project.eww │ ├── USB_WCID_Accelerometer_Visualization.ewd │ ├── USB_WCID_Accelerometer_Visualization.ewp │ ├── startup_stm32l475xx.s │ ├── stm32l475xx_flash.icf │ └── stm32l475xx_sram.icf │ ├── STM32CubeIDE │ ├── .cproject │ ├── .gitignore │ ├── .project │ ├── Application │ │ └── User │ │ │ └── Startup │ │ │ └── startup_stm32l475vgtx.s │ ├── STM32L475VGTX_FLASH.ld │ └── STM32L475VGTX_RAM.ld │ └── USB_WCID_Accelerometer_Visualization.ioc └── STM32H747I-DISCO └── Examples └── USB_WCID_ImageDisplay ├── CM4 └── Core │ ├── Inc │ ├── main.h │ ├── stm32h7xx_hal_conf.h │ └── stm32h7xx_it.h │ ├── Src │ ├── main.c │ ├── stm32h7xx_hal_msp.c │ ├── stm32h7xx_it.c │ ├── syscalls.c │ └── sysmem.c │ └── Startup │ └── startup_stm32h747xihx.s ├── CM7 └── Core │ ├── Inc │ ├── ai_logging.h │ ├── is42s32800j_conf.h │ ├── main.h │ ├── stm32h747i_discovery_conf.h │ ├── stm32h7xx_hal_conf.h │ ├── stm32h7xx_it.h │ ├── usbd_conf.h │ ├── usbd_core.h │ ├── usbd_ctlreq.h │ ├── usbd_def.h │ ├── usbd_desc.h │ ├── usbd_ioreq.h │ ├── usbd_wcid_interface.h │ └── usbd_wcid_streaming.h │ ├── Src │ ├── ai_logging.c │ ├── main.c │ ├── stm32h7xx_hal_msp.c │ ├── stm32h7xx_it.c │ ├── syscalls.c │ ├── sysmem.c │ ├── usbd_conf.c │ ├── usbd_core.c │ ├── usbd_ctlreq.c │ ├── usbd_desc.c │ ├── usbd_ioreq.c │ ├── usbd_wcid_interface.c │ └── usbd_wcid_streaming.c │ └── Startup │ └── startup_stm32h747xihx.s ├── Common └── Src │ └── system_stm32h7xx_dualcore_boot_cm4_cm7.c ├── EWARM ├── .gitignore ├── Project.eww ├── USB_WCID_ImageDisplay.ewd ├── USB_WCID_ImageDisplay.ewp ├── USB_WCID_ImageDisplay.ewt ├── startup_stm32h747xx_CM4.s ├── startup_stm32h747xx_CM7.s ├── stm32h747xx_dtcmram_CM7.icf ├── stm32h747xx_flash_CM4.icf ├── stm32h747xx_flash_CM7.icf ├── stm32h747xx_flash_rw_sram1_CM7.icf ├── stm32h747xx_flash_rw_sram2_CM4.icf ├── stm32h747xx_sram1_CM7.icf └── stm32h747xx_sram2_CM4.icf ├── STM32CubeIDE ├── .project ├── CM4 │ ├── .cproject │ ├── .gitignore │ ├── .project │ ├── Application │ │ └── User │ │ │ ├── Core │ │ │ ├── syscalls.c │ │ │ └── sysmem.c │ │ │ └── Startup │ │ │ └── startup_stm32h747xihx.s │ ├── STM32H747XIHX_FLASH.ld │ └── STM32H747XIHX_RAM.ld └── CM7 │ ├── .cproject │ ├── .gitignore │ ├── .project │ ├── STM32H747XIHX_FLASH.ld │ ├── STM32H747XIHX_RAM.ld │ └── USB_WCID_ImageDisplay_CM7.launch ├── USB_WCID_ImageDisplay.ioc └── Utilities ├── Fonts ├── Release_Notes.html ├── _htmresc │ ├── mini-st.css │ └── st_logo.png ├── font12.c ├── font16.c ├── font20.c ├── font24.c ├── font8.c └── fonts.h └── lcd ├── Release_Notes.html ├── _htmresc ├── mini-st.css └── st_logo.png ├── stm32_lcd.c └── stm32_lcd.h /License.md: -------------------------------------------------------------------------------- 1 | 2 | # Copyright (c) 2020-2021 STMicroelectronics. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted 5 | provided that the following conditions are met: 6 | 7 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions 8 | and the following disclaimer. 9 | 10 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions 11 | and the following disclaimer in the documentation and/or other materials provided with the 12 | distribution. 13 | 14 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse 15 | or promote products derived from this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 18 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 19 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 20 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 23 | IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 24 | THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /c_examples/Makefile: -------------------------------------------------------------------------------- 1 | CC=g++ 2 | CFLAGS=-Wall -g 3 | LDFLAGS=-Ilibusb-1.0.23/include/libusb-1.0 -I../target_api -Llibusb-1.0.23/MinGW64/static -lusb-1.0 4 | OBJ_DIR = build-objects 5 | OUT_DIR = out 6 | C_LIBRARY_PATH = ../c_library 7 | 8 | OBJ_NAME := $(patsubst %.cpp,%.o, $(wildcard *.cpp)) 9 | OBJ_LOCATION := $(wildcard $(OBJ_DIR)/*.o) 10 | 11 | TARGET_NAME_1=usb_wcid_data_receiver.exe 12 | TARGET_NAME_2=image_ping_pong_usb_wcid.exe 13 | 14 | all: target_1 target_2 15 | @echo "Building all" 16 | @echo OBJ_NAME: $(OBJ_NAME) 17 | @echo OBJ_LOCATION: $(OBJ_LOCATION) 18 | @echo "Be sure to flash the correct sotfware on STM32 to make the connection !" 19 | 20 | target_1:$(OBJ_NAME) ai_logging.o 21 | @echo OBJ_NAME: $(OBJ_NAME) 22 | @echo OBJ_LOCATION: $(OBJ_LOCATION) 23 | mkdir -p $(OUT_DIR) 24 | mkdir -p $(OBJ_DIR) 25 | $(CC) -g -o $(OUT_DIR)/$(TARGET_NAME_1) $(OBJ_DIR)/*.o main_data_reception.o $(LDFLAGS) $(CFLAGS) 26 | 27 | target_2:$(OBJ_NAME) ai_logging.o 28 | mkdir -p $(OUT_DIR) 29 | mkdir -p $(OBJ_DIR) 30 | $(CC) -g -o $(OUT_DIR)/$(TARGET_NAME_2) $(OBJ_DIR)/*.o main_image_ping_pong_usb_wcid.o $(LDFLAGS) $(CFLAGS) 31 | 32 | main_data_reception.o: main_data_reception.cpp 33 | @echo "Building main" 34 | $(CC) -c -o $@ main_data_reception.cpp $(LDFLAGS) $(CFLAGS) 35 | 36 | main_image_ping_pong_usb_wcid.o: main_image_ping_pong_usb_wcid.cpp 37 | @echo "Building main_image_ping_pong_usb_wcid" 38 | $(CC) -c -o $@ main_image_ping_pong_usb_wcid.cpp $(LDFLAGS) $(CFLAGS) 39 | 40 | usb_interface.o: usb_interface.cpp 41 | @echo "Building usb_interface" 42 | mkdir -p $(OUT_DIR) 43 | mkdir -p $(OBJ_DIR) 44 | $(CC) -c -g -o $(OBJ_DIR)/$@ usb_interface.cpp $(LDFLAGS) $(CFLAGS) 45 | 46 | usb_async_interface.o: usb_async_interface.cpp 47 | @echo "Building usb_async_interface" 48 | mkdir -p $(OUT_DIR) 49 | mkdir -p $(OBJ_DIR) 50 | $(CC) -c -g -o $(OBJ_DIR)/$@ usb_async_interface.cpp $(LDFLAGS) $(CFLAGS) 51 | 52 | 53 | ai_logging.o: $(C_LIBRARY_PATH)/ai_logging.c 54 | @echo "Building ai_logging" 55 | mkdir -p $(OUT_DIR) 56 | mkdir -p $(OBJ_DIR) 57 | $(CC) -c -o $(OBJ_DIR)/$@ $(C_LIBRARY_PATH)/ai_logging.c $(LDFLAGS) $(CFLAGS) 58 | 59 | clean: 60 | rm -f $(OBJ_DIR)/*.o 61 | rm -f $(OBJ_DIR)/dll/*.o 62 | rm -f *.o 63 | rm -f $(OUT_DIR)/*.exe 64 | rm -f $(OUT_DIR)/*.dll 65 | rm -f $(OUT_DIR)/*.a 66 | 67 | -------------------------------------------------------------------------------- /c_examples/interfaces.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : interfaces.hpp 4 | * @brief : Define a common interface to be used to write/read data 5 | ****************************************************************************** 6 | * @attention 7 | * 8 | * Copyright (c) 2020-2021 STMicroelectronics. 9 | * All rights reserved. 10 | * This software is licensed under terms that can be found in the LICENSE file in 11 | * the root directory of this software component. 12 | * If no LICENSE file comes with this software, it is provided AS-IS. 13 | * 14 | * 15 | ****************************************************************************** 16 | */ 17 | 18 | #ifndef INTERFACES_H 19 | #define INTERFACES_H 20 | 21 | #include 22 | 23 | class DriverInterface 24 | { 25 | public: 26 | virtual uint8_t connect()=0; 27 | virtual uint8_t disconnect()=0; 28 | virtual uint32_t write(uint8_t *data, uint32_t size)=0; 29 | virtual uint32_t read(uint8_t *buffer, uint32_t size)=0; 30 | virtual uint32_t byteAvailable()=0; 31 | virtual uint8_t isConnected()=0; 32 | }; 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /c_examples/main_serial_read.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : main_serial_read.cpp 4 | * @brief : Simple example acting as a serial reader 5 | ****************************************************************************** 6 | * @attention 7 | * 8 | * Copyright (c) 2020-2021 STMicroelectronics. 9 | * All rights reserved. 10 | * This software is licensed under terms that can be found in the LICENSE file in 11 | * the root directory of this software component. 12 | * If no LICENSE file comes with this software, it is provided AS-IS. 13 | * 14 | * 15 | ****************************************************************************** 16 | */ 17 | 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | #include "../c_library/ai_logging.h" 26 | 27 | #define RECEPTION_BUFFER_SIZE 100000 28 | #define SERIAL_READ_SIZE 16 29 | 30 | 31 | int comPortHandle = -1; 32 | 33 | uint32_t send_data(uint8_t *data, uint32_t size) 34 | { 35 | return write(comPortHandle, data, size); 36 | } 37 | 38 | uint32_t receive_data(uint8_t *data, uint32_t size) 39 | { 40 | return read(comPortHandle, data, size); 41 | } 42 | 43 | int main(int argc, char* argv[]) 44 | { 45 | printf("Starting\n"); 46 | 47 | if(argc > 1){ 48 | printf("Will connect to: %s\n", argv[1]); 49 | 50 | comPortHandle = open(argv[1], O_RDONLY); 51 | if(comPortHandle < 0) 52 | { 53 | printf("Error while opening port\n"); 54 | return -1; 55 | } 56 | 57 | uint8_t reception_buffer[RECEPTION_BUFFER_SIZE]; 58 | 59 | ai_logging_device_t device; 60 | ai_logging_init(&device); 61 | ai_logging_init_receive(&device, receive_data, SERIAL_READ_SIZE, reception_buffer, RECEPTION_BUFFER_SIZE); 62 | 63 | ai_logging_packet_t packet_received = {0}; 64 | 65 | printf("Starting main loop\n"); 66 | while(1) 67 | { 68 | int ret = ai_logging_wait_for_data(&device, &packet_received); 69 | printf("Packet received\n"); 70 | } 71 | return 0; 72 | } else { 73 | printf("Needing information: COMPORT\n"); 74 | return 1; 75 | } 76 | 77 | printf("Ending"); 78 | return 0; 79 | } 80 | -------------------------------------------------------------------------------- /c_examples/usb_interface.hpp: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : usb_interface.hpp 4 | * @brief : Definition of USB interface wrapped around libusb 5 | ****************************************************************************** 6 | * @attention 7 | * 8 | * Copyright (c) 2020-2021 STMicroelectronics. 9 | * All rights reserved. 10 | * This software is licensed under terms that can be found in the LICENSE file in 11 | * the root directory of this software component. 12 | * If no LICENSE file comes with this software, it is provided AS-IS. 13 | * 14 | * 15 | ****************************************************************************** 16 | */ 17 | 18 | 19 | #ifndef USB_INTERFACE_HPP 20 | #define USB_INTERFACE_HPP 21 | 22 | #include 23 | #include "interfaces.hpp" 24 | #include "libusb.h" 25 | 26 | //#define USB_DATA_CHUNK 128 27 | 28 | class UsbDriver : public DriverInterface { 29 | public: 30 | UsbDriver(); 31 | UsbDriver(int vid, int pid); 32 | ~UsbDriver(); 33 | 34 | int connectTo(int vid, int pid); 35 | int bulkTransfer(uint8_t endpoint, uint8_t *data, int size, int *transferred); 36 | void setEndpoint(int endpoint); 37 | 38 | // Methods of the DriverInterface 39 | uint8_t connect(); 40 | uint8_t disconnect(); 41 | uint32_t write(uint8_t *data, uint32_t size); 42 | uint32_t read(uint8_t *buffer, uint32_t size); 43 | uint32_t byteAvailable(); 44 | uint8_t isConnected(); 45 | 46 | private: 47 | libusb_device_handle *dev_handle; 48 | bool connected; 49 | int selectedEndpoint; 50 | int vid; 51 | int pid; 52 | }; 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/annotated_dup.js: -------------------------------------------------------------------------------- 1 | var annotated_dup = 2 | [ 3 | [ "ai_logging_buffer", "structai__logging__buffer.html", "structai__logging__buffer" ], 4 | [ "ai_logging_device_t", "structai__logging__device__t.html", "structai__logging__device__t" ], 5 | [ "ai_logging_message", "structai__logging__message.html", "structai__logging__message" ], 6 | [ "ai_logging_packet_t", "structai__logging__packet__t.html", "structai__logging__packet__t" ], 7 | [ "ai_logging_shape", "structai__logging__shape.html", "structai__logging__shape" ], 8 | [ "ai_logging_tensor", "structai__logging__tensor.html", "structai__logging__tensor" ] 9 | ]; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/bc_s.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/bdwn.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/closed.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/doc.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/files_dup.js: -------------------------------------------------------------------------------- 1 | var files_dup = 2 | [ 3 | [ "ai_logging.c", "ai__logging_8c.html", "ai__logging_8c" ], 4 | [ "ai_logging.h", "ai__logging_8h.html", "ai__logging_8h" ] 5 | ]; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/folderclosed.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/folderopen.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/menudata.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | var menudata={children:[ 26 | {text:"Main Page",url:"index.html"}, 27 | {text:"Data Structures",url:"annotated.html",children:[ 28 | {text:"Data Structures",url:"annotated.html"}, 29 | {text:"Data Structure Index",url:"classes.html"}]}, 30 | {text:"Files",url:"files.html",children:[ 31 | {text:"File List",url:"files.html"}, 32 | {text:"Globals",url:"globals.html",children:[ 33 | {text:"All",url:"globals.html",children:[ 34 | {text:"_",url:"globals.html#index__5F"}, 35 | {text:"a",url:"globals.html#index_a"}, 36 | {text:"c",url:"globals.html#index_c"}]}, 37 | {text:"Functions",url:"globals_func.html",children:[ 38 | {text:"_",url:"globals_func.html#index__5F"}, 39 | {text:"a",url:"globals_func.html#index_a"}, 40 | {text:"c",url:"globals_func.html#index_c"}]}]}]}]} 41 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/nav_f.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/nav_g.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/nav_h.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/navtreedata.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | var NAVTREE = 26 | [ 27 | [ "AILogging Code Documentation", "index.html", [ 28 | [ "Data Structures", "annotated.html", [ 29 | [ "Data Structures", "annotated.html", "annotated_dup" ], 30 | [ "Data Structure Index", "classes.html", null ] 31 | ] ], 32 | [ "Files", "files.html", [ 33 | [ "File List", "files.html", "files_dup" ], 34 | [ "Globals", "globals.html", [ 35 | [ "All", "globals.html", null ], 36 | [ "Functions", "globals_func.html", null ] 37 | ] ] 38 | ] ] 39 | ] ] 40 | ]; 41 | 42 | var NAVTREEINDEX = 43 | [ 44 | "ai__logging_8c.html" 45 | ]; 46 | 47 | var SYNCONMSG = 'click to disable panel synchronisation'; 48 | var SYNCOFFMSG = 'click to enable panel synchronisation'; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/open.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_5fai_5flogging_5fprepare_5fraw_5fheader_5fin_5fbuffer_0',['_ai_logging_prepare_raw_header_in_buffer',['../ai__logging_8c.html#a460511d0b4da4db5588aa41fa8f6fead',1,'ai_logging.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['create_5fbuffer_31',['create_buffer',['../ai__logging_8c.html#a1ac056bc30c34c8eac64ee91daf0c04d',1,'create_buffer(uint8_t *buffer, uint32_t buffer_size): ai_logging.c'],['../ai__logging_8h.html#a1ac056bc30c34c8eac64ee91daf0c04d',1,'create_buffer(uint8_t *buffer, uint32_t buffer_size): ai_logging.c']]], 4 | ['create_5fmessage_32',['create_message',['../ai__logging_8c.html#a8d0311a137926c24757c398a6b31ac09',1,'create_message(uint8_t *message_buffer, uint8_t message_size): ai_logging.c'],['../ai__logging_8h.html#a0b28dfa8e61af2abb7d3daa5909f7d72',1,'create_message(uint8_t *message, uint8_t message_size): ai_logging.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ai_5flogging_5fbuffer_33',['ai_logging_buffer',['../structai__logging__buffer.html',1,'']]], 4 | ['ai_5flogging_5fdevice_5ft_34',['ai_logging_device_t',['../structai__logging__device__t.html',1,'']]], 5 | ['ai_5flogging_5fmessage_35',['ai_logging_message',['../structai__logging__message.html',1,'']]], 6 | ['ai_5flogging_5fpacket_5ft_36',['ai_logging_packet_t',['../structai__logging__packet__t.html',1,'']]], 7 | ['ai_5flogging_5fshape_37',['ai_logging_shape',['../structai__logging__shape.html',1,'']]], 8 | ['ai_5flogging_5ftensor_38',['ai_logging_tensor',['../structai__logging__tensor.html',1,'']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 16 | 18 | image/svg+xml 19 | 21 | 22 | 23 | 24 | 25 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ai_5flogging_2ec_39',['ai_logging.c',['../ai__logging_8c.html',1,'']]], 4 | ['ai_5flogging_2eh_40',['ai_logging.h',['../ai__logging_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_5fai_5flogging_5fprepare_5fraw_5fheader_5fin_5fbuffer_41',['_ai_logging_prepare_raw_header_in_buffer',['../ai__logging_8c.html#a460511d0b4da4db5588aa41fa8f6fead',1,'ai_logging.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/functions_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/functions_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/functions_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['create_5fbuffer_64',['create_buffer',['../ai__logging_8c.html#a1ac056bc30c34c8eac64ee91daf0c04d',1,'create_buffer(uint8_t *buffer, uint32_t buffer_size): ai_logging.c'],['../ai__logging_8h.html#a1ac056bc30c34c8eac64ee91daf0c04d',1,'create_buffer(uint8_t *buffer, uint32_t buffer_size): ai_logging.c']]], 4 | ['create_5fmessage_65',['create_message',['../ai__logging_8c.html#a8d0311a137926c24757c398a6b31ac09',1,'create_message(uint8_t *message_buffer, uint8_t message_size): ai_logging.c'],['../ai__logging_8h.html#a0b28dfa8e61af2abb7d3daa5909f7d72',1,'create_message(uint8_t *message, uint8_t message_size): ai_logging.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 |
No Matches
11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/search/search_l.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/search/search_m.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/search/search_r.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "_ac", 4 | 1: "a", 5 | 2: "a", 6 | 3: "_ac" 7 | }; 8 | 9 | var indexSectionNames = 10 | { 11 | 0: "all", 12 | 1: "classes", 13 | 2: "files", 14 | 3: "functions" 15 | }; 16 | 17 | var indexSectionLabels = 18 | { 19 | 0: "All", 20 | 1: "Data Structures", 21 | 2: "Files", 22 | 3: "Functions" 23 | }; 24 | 25 | -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/splitbar.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/structai__logging__buffer.js: -------------------------------------------------------------------------------- 1 | var structai__logging__buffer = 2 | [ 3 | [ "buffer", "structai__logging__buffer.html#a96d596c2a6905ac020330221cecf06e3", null ], 4 | [ "size", "structai__logging__buffer.html#aa05484813a4a8ac2247431597f29ea51", null ] 5 | ]; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/structai__logging__device__t.js: -------------------------------------------------------------------------------- 1 | var structai__logging__device__t = 2 | [ 3 | [ "copy_next_byte_in_user_buffer", "structai__logging__device__t.html#af4b81727e02594a01b0d0fee319eb3e8", null ], 4 | [ "enable_auto_prepare_next_packet", "structai__logging__device__t.html#a2389890624491f1387d81a34b97aef93", null ], 5 | [ "error_callback", "structai__logging__device__t.html#a4c1cf331954b444ae1c5b08c12cf8734", null ], 6 | [ "receive_buffer", "structai__logging__device__t.html#a78c3ca240aac1aa2ecae98b7370696cb", null ], 7 | [ "receive_buffer_max_size", "structai__logging__device__t.html#a97a2a17e9cb793072ffd72ea61bd195d", null ], 8 | [ "receive_buffer_position", "structai__logging__device__t.html#af4cc413b3a4b3ff20919b614884c9abe", null ], 9 | [ "receive_buffer_read_from", "structai__logging__device__t.html#a0767d1edda40077d02af0df8598f9ab1", null ], 10 | [ "receive_ctx_fptr", "structai__logging__device__t.html#a7564ecc632431a243280e3b6f6343c60", null ], 11 | [ "receive_fptr", "structai__logging__device__t.html#aa9029bd5eb792404285bb5f81efab14e", null ], 12 | [ "receive_fptr_size_to_read", "structai__logging__device__t.html#ae16f7750e53f783ce05e5dde82f49923", null ], 13 | [ "receive_function_ctx", "structai__logging__device__t.html#ae40c73e736be7e7630bc737a3317dcbf", null ], 14 | [ "send_all_buffer", "structai__logging__device__t.html#a3b124c0192a5d477b720cdef1ea8a113", null ], 15 | [ "send_buffer", "structai__logging__device__t.html#afa61a33363d2c827b8f8a014719dfbf0", null ], 16 | [ "send_buffer_max_size", "structai__logging__device__t.html#a82b20de24902220eb73393f126d146a7", null ], 17 | [ "send_buffer_position", "structai__logging__device__t.html#ae4f5ec3a13dbde4d6a804ca14af92f37", null ], 18 | [ "send_ctx_fptr", "structai__logging__device__t.html#a4a33691cc8891f0d30d9e66f49855cd7", null ], 19 | [ "send_fptr", "structai__logging__device__t.html#aaa22f82cbd30c48ab52b34410bfb9abe", null ], 20 | [ "send_function_ctx", "structai__logging__device__t.html#a0ce59b1f1ffc37ee066bfde27ede504e", null ], 21 | [ "user_buffer_position", "structai__logging__device__t.html#aa7e0b00a96e3a47c88499390d8ae01ab", null ], 22 | [ "user_raw_buffer", "structai__logging__device__t.html#a93836cde72c5fad85b668cc7b8739e68", null ] 23 | ]; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/structai__logging__message.js: -------------------------------------------------------------------------------- 1 | var structai__logging__message = 2 | [ 3 | [ "buffer", "structai__logging__message.html#a239871b0259fc9e35eeda7e091a8a3ca", null ], 4 | [ "size", "structai__logging__message.html#aecc851d57213f6433ae0dd9d8921f53f", null ] 5 | ]; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/structai__logging__packet__t.js: -------------------------------------------------------------------------------- 1 | var structai__logging__packet__t = 2 | [ 3 | [ "message", "structai__logging__packet__t.html#aa113940b533792e58a97a4a989152f47", null ], 4 | [ "message_size", "structai__logging__packet__t.html#a545e6bf575697a192bd4b5d451c4cd92", null ], 5 | [ "packet_size", "structai__logging__packet__t.html#af4ec9df8a7c1865dc62b7d95f2bbc3b7", null ], 6 | [ "payload", "structai__logging__packet__t.html#a4d03054badb36f8aa3827f91e2b77af7", null ], 7 | [ "payload_size", "structai__logging__packet__t.html#ae08517492151d9dcf357d26499dc499f", null ], 8 | [ "payload_type", "structai__logging__packet__t.html#ad46da14521542d3da9cd1db5522c817f", null ], 9 | [ "shape", "structai__logging__packet__t.html#aac9694b98537d2821f053f3e0206d257", null ], 10 | [ "timestamp", "structai__logging__packet__t.html#a6bcf73db54f4b1d3e007386534fc3195", null ] 11 | ]; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/structai__logging__shape.js: -------------------------------------------------------------------------------- 1 | var structai__logging__shape = 2 | [ 3 | [ "n_shape", "structai__logging__shape.html#aa66e145952c1e4f71361695840576381", null ], 4 | [ "shapes", "structai__logging__shape.html#a9e44c2caac6327d330e46802f149fdaa", null ] 5 | ]; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/structai__logging__tensor.js: -------------------------------------------------------------------------------- 1 | var structai__logging__tensor = 2 | [ 3 | [ "data_type", "structai__logging__tensor.html#adbc8943af56fee516c2c09b062b29bc2", null ], 4 | [ "shape", "structai__logging__tensor.html#ae13a453b73011a20f3db761a1aa7d67f", null ] 5 | ]; -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/sync_off.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/sync_on.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/tab_a.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/tab_b.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/tab_h.png -------------------------------------------------------------------------------- /documentation/c_library_documentation/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/c_library_documentation/html/tab_s.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/bc_s.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/bdwn.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__buffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__buffer.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__device__t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__device__t.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__message.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__packet__t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__packet__t.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__shape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__shape.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__tensor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__tensor.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1exceptions_1_1_connection_exception.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1exceptions_1_1_connection_exception.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1exceptions_1_1_read_exception.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1exceptions_1_1_read_exception.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1core_1_1interfaces_1_1_driver_interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1core_1_1interfaces_1_1_driver_interface.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1drivers_1_1pyserialport_1_1_serial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1drivers_1_1pyserialport_1_1_serial.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/closed.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/doc.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/folderclosed.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/folderopen.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/menudata.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | var menudata={children:[ 26 | {text:"Main Page",url:"index.html"}, 27 | {text:"Classes",url:"annotated.html",children:[ 28 | {text:"Class List",url:"annotated.html"}, 29 | {text:"Class Index",url:"classes.html"}, 30 | {text:"Class Hierarchy",url:"hierarchy.html"}, 31 | {text:"Class Members",url:"functions.html",children:[ 32 | {text:"All",url:"functions.html"}, 33 | {text:"Functions",url:"functions_func.html"}]}]}]} 34 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/nav_f.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/nav_g.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/nav_h.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/open.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ai_5flogging_5fbuffer_0',['ai_logging_buffer',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__buffer.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 4 | ['ai_5flogging_5fdevice_5ft_1',['ai_logging_device_t',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__device__t.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 5 | ['ai_5flogging_5fmessage_2',['ai_logging_message',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__message.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 6 | ['ai_5flogging_5fpacket_5ft_3',['ai_logging_packet_t',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__packet__t.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 7 | ['ai_5flogging_5fshape_4',['ai_logging_shape',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__shape.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 8 | ['ai_5flogging_5ftensor_5',['ai_logging_tensor',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__tensor.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 9 | ['ailoggingapi_6',['AILoggingAPI',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html',1,'ai_logging::core::ai_logging_api']]], 10 | ['ailoggingapiwrapper_7',['AILoggingAPIWrapper',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 11 | ['ailoggingbackend_8',['AILoggingBackend',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_backend.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 12 | ['ailoggingpayloadtype_9',['AILoggingPayloadType',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_payload_type.html',1,'ai_logging::core::ai_logging_api_wrapper']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['check_5ffor_5freceived_5fpacket_10',['check_for_received_packet',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#aa76808e6434d64cbe47e8c1f9738321e',1,'ai_logging.core.ai_logging_api.AILoggingAPI.check_for_received_packet()'],['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#ad1e0d03aaf3b05f2e94e83056b45f37b',1,'ai_logging.core.ai_logging_api_wrapper.AILoggingAPIWrapper.check_for_received_packet()']]], 4 | ['connect_11',['connect',['../classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.html#a1aa8574ba304c30e586d4f07aa505749',1,'ai_logging::drivers::wcid_usb_driver::UsbWcidDriver']]], 5 | ['connectionexception_12',['ConnectionException',['../classai__logging_1_1core_1_1exceptions_1_1_connection_exception.html',1,'ai_logging::core::exceptions']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['data_5freceived_5fcallback_13',['data_received_callback',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#ac63373a5efdfa1f824ed1a4303e1229e',1,'ai_logging.core.ai_logging_api.AILoggingAPI.data_received_callback()'],['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#aa506905136a977c3d0fde997c388e35f',1,'ai_logging.core.ai_logging_api_wrapper.AILoggingAPIWrapper.data_received_callback()']]], 4 | ['decoderinterface_14',['DecoderInterface',['../classai__logging_1_1decoders_1_1decoder_1_1_decoder_interface.html',1,'ai_logging::decoders::decoder']]], 5 | ['driverinterface_15',['DriverInterface',['../classai__logging_1_1core_1_1interfaces_1_1_driver_interface.html',1,'ai_logging::core::interfaces']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['floatdecoder_16',['FloatDecoder',['../classai__logging_1_1decoders_1_1float__decoder_1_1_float_decoder.html',1,'ai_logging::decoders::float_decoder']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['intdecoder_17',['IntDecoder',['../classai__logging_1_1decoders_1_1int__decoder_1_1_int_decoder.html',1,'ai_logging::decoders::int_decoder']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['read_18',['read',['../classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.html#ae4f7e6593bf5d04794f8700d32fb8126',1,'ai_logging::drivers::wcid_usb_driver::UsbWcidDriver']]], 4 | ['readexception_19',['ReadException',['../classai__logging_1_1core_1_1exceptions_1_1_read_exception.html',1,'ai_logging::core::exceptions']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['send_5fdata_20',['send_data',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#a4327eac213ba5c9c59feda520ae9fb5c',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 4 | ['send_5fmessage_21',['send_message',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#a9cce6ce75a40bd4cc6872bdbbc940236',1,'ai_logging.core.ai_logging_api.AILoggingAPI.send_message()'],['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#ab50c4624e4c5b446765d28ef63dc18b2',1,'ai_logging.core.ai_logging_api_wrapper.AILoggingAPIWrapper.send_message()']]], 5 | ['send_5fmessage_5fwith_5fdata_22',['send_message_with_data',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#af1c367014175aed55d4ef02f868aa8d2',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 6 | ['send_5fpacket_23',['send_packet',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#a5470bd3495f43a6f7cde93ceb29fbf7e',1,'ai_logging.core.ai_logging_api.AILoggingAPI.send_packet()'],['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#ad1d31666aadee2031bfda1ccc109751f',1,'ai_logging.core.ai_logging_api_wrapper.AILoggingAPIWrapper.send_packet()']]], 7 | ['send_5fraw_5fdata_24',['send_raw_data',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#ac4c2a58faa07917eb33d7598675ba86e',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 8 | ['send_5fraw_5fdata_5fheader_25',['send_raw_data_header',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#a64921cc3414c3e09405de00b1139bc2a',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 9 | ['serial_26',['Serial',['../classai__logging_1_1drivers_1_1pyserialport_1_1_serial.html',1,'ai_logging::drivers::pyserialport']]], 10 | ['strdecoder_27',['StrDecoder',['../classai__logging_1_1decoders_1_1str__decoder_1_1_str_decoder.html',1,'ai_logging::decoders::str_decoder']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['usbwciddriver_28',['UsbWcidDriver',['../classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.html',1,'ai_logging::drivers::wcid_usb_driver']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['wait_5ffor_5fdata_29',['wait_for_data',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#a2eb6e58b5bf1bbb0b9578a9c7ae010b4',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 4 | ['wait_5ffor_5fpacket_30',['wait_for_packet',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#a05a69954b34a485dc9d017a87138a104',1,'ai_logging::core::ai_logging_api::AILoggingAPI']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ai_5flogging_5fbuffer_31',['ai_logging_buffer',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__buffer.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 4 | ['ai_5flogging_5fdevice_5ft_32',['ai_logging_device_t',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__device__t.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 5 | ['ai_5flogging_5fmessage_33',['ai_logging_message',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__message.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 6 | ['ai_5flogging_5fpacket_5ft_34',['ai_logging_packet_t',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__packet__t.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 7 | ['ai_5flogging_5fshape_35',['ai_logging_shape',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__shape.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 8 | ['ai_5flogging_5ftensor_36',['ai_logging_tensor',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1ai__logging__tensor.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 9 | ['ailoggingapi_37',['AILoggingAPI',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html',1,'ai_logging::core::ai_logging_api']]], 10 | ['ailoggingapiwrapper_38',['AILoggingAPIWrapper',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 11 | ['ailoggingbackend_39',['AILoggingBackend',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_backend.html',1,'ai_logging::core::ai_logging_api_wrapper']]], 12 | ['ailoggingpayloadtype_40',['AILoggingPayloadType',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_payload_type.html',1,'ai_logging::core::ai_logging_api_wrapper']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['connectionexception_41',['ConnectionException',['../classai__logging_1_1core_1_1exceptions_1_1_connection_exception.html',1,'ai_logging::core::exceptions']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['decoderinterface_42',['DecoderInterface',['../classai__logging_1_1decoders_1_1decoder_1_1_decoder_interface.html',1,'ai_logging::decoders::decoder']]], 4 | ['driverinterface_43',['DriverInterface',['../classai__logging_1_1core_1_1interfaces_1_1_driver_interface.html',1,'ai_logging::core::interfaces']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['floatdecoder_44',['FloatDecoder',['../classai__logging_1_1decoders_1_1float__decoder_1_1_float_decoder.html',1,'ai_logging::decoders::float_decoder']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['intdecoder_45',['IntDecoder',['../classai__logging_1_1decoders_1_1int__decoder_1_1_int_decoder.html',1,'ai_logging::decoders::int_decoder']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['readexception_46',['ReadException',['../classai__logging_1_1core_1_1exceptions_1_1_read_exception.html',1,'ai_logging::core::exceptions']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['serial_47',['Serial',['../classai__logging_1_1drivers_1_1pyserialport_1_1_serial.html',1,'ai_logging::drivers::pyserialport']]], 4 | ['strdecoder_48',['StrDecoder',['../classai__logging_1_1decoders_1_1str__decoder_1_1_str_decoder.html',1,'ai_logging::decoders::str_decoder']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/classes_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['usbwciddriver_49',['UsbWcidDriver',['../classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.html',1,'ai_logging::drivers::wcid_usb_driver']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 16 | 18 | image/svg+xml 19 | 21 | 22 | 23 | 24 | 25 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['check_5ffor_5freceived_5fpacket_50',['check_for_received_packet',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#aa76808e6434d64cbe47e8c1f9738321e',1,'ai_logging.core.ai_logging_api.AILoggingAPI.check_for_received_packet()'],['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#ad1e0d03aaf3b05f2e94e83056b45f37b',1,'ai_logging.core.ai_logging_api_wrapper.AILoggingAPIWrapper.check_for_received_packet()']]], 4 | ['connect_51',['connect',['../classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.html#a1aa8574ba304c30e586d4f07aa505749',1,'ai_logging::drivers::wcid_usb_driver::UsbWcidDriver']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['data_5freceived_5fcallback_52',['data_received_callback',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#ac63373a5efdfa1f824ed1a4303e1229e',1,'ai_logging.core.ai_logging_api.AILoggingAPI.data_received_callback()'],['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#aa506905136a977c3d0fde997c388e35f',1,'ai_logging.core.ai_logging_api_wrapper.AILoggingAPIWrapper.data_received_callback()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['read_53',['read',['../classai__logging_1_1drivers_1_1wcid__usb__driver_1_1_usb_wcid_driver.html#ae4f7e6593bf5d04794f8700d32fb8126',1,'ai_logging::drivers::wcid_usb_driver::UsbWcidDriver']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['send_5fdata_54',['send_data',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#a4327eac213ba5c9c59feda520ae9fb5c',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 4 | ['send_5fmessage_55',['send_message',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#a9cce6ce75a40bd4cc6872bdbbc940236',1,'ai_logging.core.ai_logging_api.AILoggingAPI.send_message()'],['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#ab50c4624e4c5b446765d28ef63dc18b2',1,'ai_logging.core.ai_logging_api_wrapper.AILoggingAPIWrapper.send_message()']]], 5 | ['send_5fmessage_5fwith_5fdata_56',['send_message_with_data',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#af1c367014175aed55d4ef02f868aa8d2',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 6 | ['send_5fpacket_57',['send_packet',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#a5470bd3495f43a6f7cde93ceb29fbf7e',1,'ai_logging.core.ai_logging_api.AILoggingAPI.send_packet()'],['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#ad1d31666aadee2031bfda1ccc109751f',1,'ai_logging.core.ai_logging_api_wrapper.AILoggingAPIWrapper.send_packet()']]], 7 | ['send_5fraw_5fdata_58',['send_raw_data',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#ac4c2a58faa07917eb33d7598675ba86e',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 8 | ['send_5fraw_5fdata_5fheader_59',['send_raw_data_header',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#a64921cc3414c3e09405de00b1139bc2a',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/functions_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['wait_5ffor_5fdata_60',['wait_for_data',['../classai__logging_1_1core_1_1ai__logging__api__wrapper_1_1_a_i_logging_a_p_i_wrapper.html#a2eb6e58b5bf1bbb0b9578a9c7ae010b4',1,'ai_logging::core::ai_logging_api_wrapper::AILoggingAPIWrapper']]], 4 | ['wait_5ffor_5fpacket_61',['wait_for_packet',['../classai__logging_1_1core_1_1ai__logging__api_1_1_a_i_logging_a_p_i.html#a05a69954b34a485dc9d017a87138a104',1,'ai_logging::core::ai_logging_api::AILoggingAPI']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 |
No Matches
11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/search/search_l.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/search/search_m.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/search/search_r.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "acdfirsuw", 4 | 1: "acdfirsu", 5 | 2: "cdrsw" 6 | }; 7 | 8 | var indexSectionNames = 9 | { 10 | 0: "all", 11 | 1: "classes", 12 | 2: "functions" 13 | }; 14 | 15 | var indexSectionLabels = 16 | { 17 | 0: "All", 18 | 1: "Classes", 19 | 2: "Functions" 20 | }; 21 | 22 | -------------------------------------------------------------------------------- /documentation/python_documentation/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/splitbar.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/sync_off.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/sync_on.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/tab_a.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/tab_b.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/tab_h.png -------------------------------------------------------------------------------- /documentation/python_documentation/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/documentation/python_documentation/html/tab_s.png -------------------------------------------------------------------------------- /generic_ui/Makefile: -------------------------------------------------------------------------------- 1 | 2 | UI_DIR = uiFiles 3 | ENTRY_POINT = main.py 4 | OUT_FOLDER=out 5 | APP_NAME = GenericUI 6 | 7 | all: update build-exe 8 | 9 | build-exe: 10 | rm -rf out/ 11 | pyinstaller $(ENTRY_POINT) --clean --distpath out/ --specpath $(OUT_FOLDER) --workpath out/workpath --name $(APP_NAME) --onedir 12 | cp -R ./ai_logging $(OUT_FOLDER)/$(APP_NAME) 13 | 14 | build-ui: $(UI_DIR)/* 15 | for file in $^ ; do \ 16 | pyside2-uic $${file} -o $${file}.py ; \ 17 | done 18 | 19 | update: 20 | cp -R ../python_wrapper/ai_logging . 21 | pyside2-rcc.exe res.qrc -o res.py 22 | 23 | -------------------------------------------------------------------------------- /generic_ui/RawTextWidget.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from PySide2.QtWidgets import QPlainTextEdit 21 | from PySide2.QtCore import Slot, qDebug 22 | 23 | class RawTextWidget(QPlainTextEdit): 24 | 25 | def __init__(self, controller, parent=None): 26 | super().__init__(parent) 27 | self.controller = controller 28 | self.controller.sig_newRawData.connect(self.s_appendRaw) 29 | 30 | @Slot(dict) 31 | def s_appendRaw(self, data:dict): 32 | self.appendPlainText(str(data)+"\n") 33 | 34 | def closeEvent(self, closeEvent): 35 | qDebug("Closing RawTextWidget") 36 | self.controller.sig_newRawData.disconnect(self.s_appendRaw) 37 | closeEvent.accept() 38 | -------------------------------------------------------------------------------- /generic_ui/StreamReader.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from PySide2.QtCore import qDebug, Signal, Slot, QThread 21 | 22 | class StreamReader(QThread): 23 | sig_packetAvailable = Signal(dict) 24 | 25 | def __init__(self, parent=None): 26 | super().__init__(parent) 27 | self.apiInstance = None 28 | self.packets_received = [] 29 | 30 | def setApiInstance(self, instance): 31 | self.apiInstance = instance 32 | 33 | 34 | def run(self): 35 | while self.apiInstance is not None: 36 | packet = self.apiInstance.wait_for_packet() 37 | self.sig_packetAvailable.emit(packet) 38 | -------------------------------------------------------------------------------- /generic_ui/ai_logging/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.pythonPath": "C:\\Python36\\python.exe" 3 | } -------------------------------------------------------------------------------- /generic_ui/ai_logging/__init__.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | # Use Semantic Versioning, http://semver.org/ 21 | version_info = (0, 4, 2) 22 | __version__ = '%d.%d.%d' % version_info 23 | 24 | from .core import * 25 | from .drivers import * 26 | from .decoders import * 27 | #from .gui import * 28 | from .core.ai_logging_api_wrapper import AILoggingPayloadType as types 29 | from .decoders.decoder import get_decoder_for_data -------------------------------------------------------------------------------- /generic_ui/ai_logging/core/__init__.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | from .ai_logging_api import AILoggingAPI 20 | from . import exceptions 21 | from .interfaces import DriverInterface 22 | -------------------------------------------------------------------------------- /generic_ui/ai_logging/core/exceptions.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | class ConnectionException(Exception): 21 | pass 22 | 23 | class ReadException(Exception): 24 | pass 25 | -------------------------------------------------------------------------------- /generic_ui/ai_logging/core/interfaces.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | class DriverInterface: 20 | """ connect to the device """ 21 | def connect(self, *args, **kwargs): 22 | print("Error: connect has not been overriden") 23 | 24 | """ disconnect the interface from the device to allow other do connect """ 25 | def disconnect(self, *args, **kwargs): 26 | print("Error: disconnect has not been overriden") 27 | 28 | """ write byte through the driver and return number of byte written""" 29 | def write(self, data:bytes, *args, **kwargs) -> int: 30 | print("Error: write has not been overriden") 31 | 32 | """ read and return nb_byte bytes from the driver """ 33 | def read(self, nb_byte, *args, **kwargs) -> bytes: 34 | print("Error: read has not been overriden") 35 | 36 | """ Indicates the number of byte available to be read from the driver """ 37 | def byte_available(self, *args, **kwargs) -> int: 38 | print("Error: byte_available has not been overriden") 39 | 40 | def is_connected(self, *args, **kwargs): 41 | print("Error: is_connected has not been overriden") 42 | -------------------------------------------------------------------------------- /generic_ui/ai_logging/core/libai_logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/generic_ui/ai_logging/core/libai_logging.dll -------------------------------------------------------------------------------- /generic_ui/ai_logging/core/libai_logging.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/generic_ui/ai_logging/core/libai_logging.dylib -------------------------------------------------------------------------------- /generic_ui/ai_logging/core/libai_logging.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/generic_ui/ai_logging/core/libai_logging.so -------------------------------------------------------------------------------- /generic_ui/ai_logging/decoders/__init__.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from . import decoder 21 | from .int_decoder import IntDecoder 22 | from .str_decoder import StrDecoder 23 | -------------------------------------------------------------------------------- /generic_ui/ai_logging/decoders/decoder.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from enum import Enum 21 | from .int_decoder import IntDecoder 22 | from .str_decoder import StrDecoder 23 | from .float_decoder import FloatDecoder 24 | 25 | from ai_logging.core.ai_logging_api_wrapper import AILoggingPayloadType 26 | 27 | INT_DECODER = IntDecoder() 28 | STR_DECODER = StrDecoder() 29 | FLOAT_DECODER = FloatDecoder() 30 | # Syntax: str_type: (decoder) 31 | STR_TO_DECODER = { 32 | AILoggingPayloadType.AI_COMMAND: (STR_DECODER), 33 | AILoggingPayloadType.AI_INT8: (INT_DECODER), 34 | AILoggingPayloadType.AI_UINT8: (INT_DECODER), 35 | AILoggingPayloadType.AI_INT16: (INT_DECODER), 36 | AILoggingPayloadType.AI_UINT16: (INT_DECODER), 37 | AILoggingPayloadType.AI_UINT32: (INT_DECODER), 38 | AILoggingPayloadType.AI_INT32: (INT_DECODER), 39 | AILoggingPayloadType.AI_STR:(STR_DECODER), 40 | AILoggingPayloadType.AI_FLOAT:(FLOAT_DECODER) 41 | } 42 | 43 | def get_decoder_for_data(packet): 44 | if packet['data_type'] in STR_TO_DECODER: 45 | return STR_TO_DECODER[packet['data_type']] 46 | else: 47 | return None 48 | 49 | class DecoderInterface: 50 | def decode(self, datatype): 51 | print("Not implemented") 52 | -------------------------------------------------------------------------------- /generic_ui/ai_logging/decoders/float_decoder.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | import numpy as np 21 | from ai_logging.core.ai_logging_api_wrapper import AILoggingPayloadType 22 | import struct 23 | 24 | class FloatDecoder(): 25 | def decode(self, data:dict): 26 | if data['data_type'] == AILoggingPayloadType.AI_FLOAT: 27 | byte_for_type = 4 28 | else: 29 | raise Exception("FloatDecoder: Unable to decode, data not supported") 30 | 31 | shape = None 32 | if data['data_shape']: 33 | shape = data['data_shape'] 34 | else: 35 | print("FloatDecoder: No shape detected, assuming 1-dim array") 36 | shape = None 37 | 38 | data_array = data['data'] 39 | 40 | return self._decode_float(data_array, byte_for_type, shape) 41 | 42 | 43 | def _decode_float(self, data, byte_for_type:int, shape): 44 | nb_element = int(len(data)/byte_for_type) 45 | output_data = np.zeros(nb_element) 46 | 47 | for i in range(nb_element): 48 | output_data[i] = struct.unpack('f', bytes(data[i*byte_for_type:i*byte_for_type+byte_for_type]))[0] 49 | 50 | output_data = output_data.reshape(shape) if shape is not None else output_data 51 | return output_data 52 | 53 | -------------------------------------------------------------------------------- /generic_ui/ai_logging/decoders/str_decoder.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from ai_logging.core.ai_logging_api_wrapper import AILoggingPayloadType 21 | 22 | #TODO: Standard interface for decoders 23 | class StrDecoder: 24 | 25 | def decode(self, data:dict): 26 | out_str = None 27 | if data['data_type'] == AILoggingPayloadType.AI_STR: 28 | data_array = data['data'] 29 | out_str = ''.join(chr(x) for x in data_array) 30 | #print("StrDecoder: {}".format(out_str)) 31 | elif data['data_type'] == AILoggingPayloadType.AI_COMMAND: 32 | if data.get('message', None): 33 | out_str = data.get('message') 34 | else: 35 | raise Exception("Trying to decode message as str but no message received") 36 | else: 37 | raise Exception("DataType to decode not supported by StrDecoder") 38 | return out_str 39 | -------------------------------------------------------------------------------- /generic_ui/ai_logging/drivers/__init__.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from .pyserialport import Serial 21 | from .wcid_usb_driver import UsbWcidDriver 22 | 23 | -------------------------------------------------------------------------------- /generic_ui/main.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | import sys 21 | from PySide2.QtWidgets import QApplication 22 | from PySide2 import QtCore 23 | from MainWindow import MainWindow 24 | 25 | # QApplication.setAttribute(QtCore.Qt.HighDpiScaleFactorRoundingPolicy.PassThrough) 26 | 27 | if __name__ == '__main__': 28 | app = QApplication(sys.argv) 29 | mainWindow = MainWindow() 30 | mainWindow.show() 31 | app.setAttribute(QtCore.Qt.AA_Use96Dpi) 32 | 33 | app.exec_() 34 | -------------------------------------------------------------------------------- /generic_ui/requirements.txt: -------------------------------------------------------------------------------- 1 | numpy 2 | pandas 3 | PySide2 4 | PyInstaller 5 | pyqtgraph 6 | pyserial 7 | pyusb 8 | 9 | -------------------------------------------------------------------------------- /generic_ui/res.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | resources/x-cube-ai.png 4 | resources/st-logo.png 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /generic_ui/resources/st-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/generic_ui/resources/st-logo.png -------------------------------------------------------------------------------- /generic_ui/resources/x-cube-ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/generic_ui/resources/x-cube-ai.png -------------------------------------------------------------------------------- /host_library/Makefile: -------------------------------------------------------------------------------- 1 | CC=g++ 2 | CFLAGS=-Wall -g 3 | LDFLAGS=-I../c_library 4 | OBJ_DIR = build-objects 5 | OUT_DIR = out 6 | 7 | OBJ_LOCATION := $(wildcard $(OBJ_DIR)/*.o) 8 | 9 | ifeq ($(OS),Windows_NT) 10 | DLL_NAME=libai_logging.dll 11 | LIB_DEFINES = -DUSING_AI_LOGGING_DLL -DBUILDING_AI_LOGGING_DLL 12 | else 13 | UNAME_S := $(shell uname -s) 14 | ifeq ($(UNAME_S),Linux) 15 | DLL_NAME=libai_logging.so 16 | endif 17 | ifeq ($(UNAME_S),Darwin) 18 | DLL_NAME=libai_logging.dylib 19 | endif 20 | CFLAGS += -fPIC 21 | endif 22 | 23 | all: dll target_dll export_to_wrapper 24 | @echo "Building all" 25 | @echo OBJ_LOCATION: $(OBJ_LOCATION) 26 | 27 | target_dll:dll main_dll.c 28 | mkdir -p $(OUT_DIR) 29 | $(CC) -c main_dll.c $(LIB_DEFINES) -I../c_library $(CFLAGS) 30 | $(CC) -o $(OUT_DIR)/main_dll main_dll.o -Lout -lai_logging 31 | 32 | dll: 33 | @echo "Building $(DLL_NAME)" 34 | mkdir -p $(OBJ_DIR) 35 | mkdir -p $(OUT_DIR) 36 | 37 | $(CC) -c $(LIB_DEFINES) -o $(OBJ_DIR)/$(DLL_NAME).o ../c_library/ai_logging.c $(LDFLAGS) $(CFLAGS) 38 | $(CC) -shared -o $(OUT_DIR)/$(DLL_NAME) $(OBJ_DIR)/$(DLL_NAME).o 39 | # -Wl,--out-implib,out/ai_logging.a old option used while building old library 40 | 41 | 42 | ai_logging.o: ../c_library/ai_logging.c 43 | @echo "Building ai_logging" 44 | mkdir -p $(OBJ_DIR) 45 | $(CC) -c -o $(OBJ_DIR)/$@ ../c_library/ai_logging.c $(LDFLAGS) $(CFLAGS) 46 | 47 | export_to_wrapper:$(OUT_DIR)/$(DLL_NAME) 48 | @echo "Copying library to Python wrapper folder" 49 | cp $(OUT_DIR)/$(DLL_NAME) ../python_wrapper/ai_logging/core 50 | 51 | clean: 52 | rm -f $(OBJ_DIR)/*.o 53 | rm -f $(OBJ_DIR)/dll/*.o 54 | rm -f *.o 55 | rm -f out/*.exe 56 | rm -f out/*.dll 57 | rm -f out/*.a 58 | rm -f out/*dylib 59 | -------------------------------------------------------------------------------- /host_library/main_dll.c: -------------------------------------------------------------------------------- 1 | /** \file 2 | * @author Romain LE DONGE 3 | * @brief Simple example using the AILogging shared library to check that everything is linking fine 4 | * Copyright (c) 2020-2021 STMicroelectronics. 5 | * All rights reserved. 6 | * This software is licensed under terms that can be found in the LICENSE file in 7 | * the root directory of this software component. 8 | * If no LICENSE file comes with this software, it is provided AS-IS. 9 | * 10 | */ 11 | 12 | #include 13 | #include 14 | 15 | #include "../c_library/ai_logging.h" 16 | 17 | #define SEND_BUFFER_SIZE 64 18 | 19 | uint32_t send_function(uint8_t *buf, uint32_t len) 20 | { 21 | printf("Fake sending data (%ld):\n", len); 22 | for(int i = 0; i < len; i++){printf("%x ",buf[i]);} 23 | printf("\n"); 24 | return len; 25 | } 26 | 27 | 28 | int main() 29 | { 30 | printf("Start\n"); 31 | ai_logging_device_t dev; 32 | uint8_t send_buffer[SEND_BUFFER_SIZE]; 33 | uint16_t data[] = {1,2,3,4,5}; 34 | 35 | ai_logging_init(&dev); 36 | ai_logging_init_send(&dev, send_function, send_buffer, SEND_BUFFER_SIZE); 37 | 38 | ai_logging_buffer data_buffer; 39 | data_buffer.buffer = (uint8_t*)data; 40 | data_buffer.size = sizeof(data); 41 | 42 | ai_logging_tensor data_info; 43 | data_info.data_type = AI_UINT16; 44 | ai_logging_shape s; 45 | ai_logging_create_shape_1d(&s, 5); 46 | data_info.shape = &s; 47 | 48 | ai_logging_send_data(&dev, data_buffer, data_info); 49 | 50 | printf("End\n"); 51 | return 0; 52 | } 53 | -------------------------------------------------------------------------------- /python_wrapper/ai_logging/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.pythonPath": "C:\\Python36\\python.exe" 3 | } -------------------------------------------------------------------------------- /python_wrapper/ai_logging/__init__.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | # Use Semantic Versioning, http://semver.org/ 21 | version_info = (0, 4, 2) 22 | __version__ = '%d.%d.%d' % version_info 23 | 24 | from .core import * 25 | from .drivers import * 26 | from .decoders import * 27 | #from .gui import * 28 | from .core.ai_logging_api_wrapper import AILoggingPayloadType as types 29 | from .decoders.decoder import get_decoder_for_data -------------------------------------------------------------------------------- /python_wrapper/ai_logging/core/__init__.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | from .ai_logging_api import AILoggingAPI 20 | from . import exceptions 21 | from .interfaces import DriverInterface 22 | -------------------------------------------------------------------------------- /python_wrapper/ai_logging/core/exceptions.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | class ConnectionException(Exception): 21 | pass 22 | 23 | class ReadException(Exception): 24 | pass 25 | -------------------------------------------------------------------------------- /python_wrapper/ai_logging/core/interfaces.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | class DriverInterface: 20 | """ connect to the device """ 21 | def connect(self, *args, **kwargs): 22 | print("Error: connect has not been overriden") 23 | 24 | """ disconnect the interface from the device to allow other do connect """ 25 | def disconnect(self, *args, **kwargs): 26 | print("Error: disconnect has not been overriden") 27 | 28 | """ write byte through the driver and return number of byte written""" 29 | def write(self, data:bytes, *args, **kwargs) -> int: 30 | print("Error: write has not been overriden") 31 | 32 | """ read and return nb_byte bytes from the driver """ 33 | def read(self, nb_byte, *args, **kwargs) -> bytes: 34 | print("Error: read has not been overriden") 35 | 36 | """ Indicates the number of byte available to be read from the driver """ 37 | def byte_available(self, *args, **kwargs) -> int: 38 | print("Error: byte_available has not been overriden") 39 | 40 | def is_connected(self, *args, **kwargs): 41 | print("Error: is_connected has not been overriden") 42 | -------------------------------------------------------------------------------- /python_wrapper/ai_logging/core/libai_logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/python_wrapper/ai_logging/core/libai_logging.dll -------------------------------------------------------------------------------- /python_wrapper/ai_logging/core/libai_logging.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/python_wrapper/ai_logging/core/libai_logging.dylib -------------------------------------------------------------------------------- /python_wrapper/ai_logging/core/libai_logging.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/python_wrapper/ai_logging/core/libai_logging.so -------------------------------------------------------------------------------- /python_wrapper/ai_logging/decoders/__init__.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from . import decoder 21 | from .int_decoder import IntDecoder 22 | from .str_decoder import StrDecoder 23 | -------------------------------------------------------------------------------- /python_wrapper/ai_logging/decoders/decoder.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from enum import Enum 21 | from .int_decoder import IntDecoder 22 | from .str_decoder import StrDecoder 23 | from .float_decoder import FloatDecoder 24 | 25 | from ai_logging.core.ai_logging_api_wrapper import AILoggingPayloadType 26 | 27 | INT_DECODER = IntDecoder() 28 | STR_DECODER = StrDecoder() 29 | FLOAT_DECODER = FloatDecoder() 30 | # Syntax: str_type: (decoder) 31 | STR_TO_DECODER = { 32 | AILoggingPayloadType.AI_COMMAND: (STR_DECODER), 33 | AILoggingPayloadType.AI_INT8: (INT_DECODER), 34 | AILoggingPayloadType.AI_UINT8: (INT_DECODER), 35 | AILoggingPayloadType.AI_INT16: (INT_DECODER), 36 | AILoggingPayloadType.AI_UINT16: (INT_DECODER), 37 | AILoggingPayloadType.AI_UINT32: (INT_DECODER), 38 | AILoggingPayloadType.AI_INT32: (INT_DECODER), 39 | AILoggingPayloadType.AI_STR:(STR_DECODER), 40 | AILoggingPayloadType.AI_FLOAT:(FLOAT_DECODER) 41 | } 42 | 43 | def get_decoder_for_data(packet): 44 | if packet['data_type'] in STR_TO_DECODER: 45 | return STR_TO_DECODER[packet['data_type']] 46 | else: 47 | return None 48 | 49 | class DecoderInterface: 50 | def decode(self, datatype): 51 | print("Not implemented") 52 | -------------------------------------------------------------------------------- /python_wrapper/ai_logging/decoders/float_decoder.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | import numpy as np 21 | from ai_logging.core.ai_logging_api_wrapper import AILoggingPayloadType 22 | import struct 23 | 24 | class FloatDecoder(): 25 | def decode(self, data:dict): 26 | if data['data_type'] == AILoggingPayloadType.AI_FLOAT: 27 | byte_for_type = 4 28 | else: 29 | raise Exception("FloatDecoder: Unable to decode, data not supported") 30 | 31 | shape = None 32 | if data['data_shape']: 33 | shape = data['data_shape'] 34 | else: 35 | print("FloatDecoder: No shape detected, assuming 1-dim array") 36 | shape = None 37 | 38 | data_array = data['data'] 39 | 40 | return self._decode_float(data_array, byte_for_type, shape) 41 | 42 | 43 | def _decode_float(self, data, byte_for_type:int, shape): 44 | nb_element = int(len(data)/byte_for_type) 45 | output_data = np.zeros(nb_element) 46 | 47 | for i in range(nb_element): 48 | output_data[i] = struct.unpack('f', bytes(data[i*byte_for_type:i*byte_for_type+byte_for_type]))[0] 49 | 50 | output_data = output_data.reshape(shape) if shape is not None else output_data 51 | return output_data 52 | 53 | -------------------------------------------------------------------------------- /python_wrapper/ai_logging/decoders/str_decoder.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from ai_logging.core.ai_logging_api_wrapper import AILoggingPayloadType 21 | 22 | #TODO: Standard interface for decoders 23 | class StrDecoder: 24 | 25 | def decode(self, data:dict): 26 | out_str = None 27 | if data['data_type'] == AILoggingPayloadType.AI_STR: 28 | data_array = data['data'] 29 | out_str = ''.join(chr(x) for x in data_array) 30 | #print("StrDecoder: {}".format(out_str)) 31 | elif data['data_type'] == AILoggingPayloadType.AI_COMMAND: 32 | if data.get('message', None): 33 | out_str = data.get('message') 34 | else: 35 | raise Exception("Trying to decode message as str but no message received") 36 | else: 37 | raise Exception("DataType to decode not supported by StrDecoder") 38 | return out_str 39 | -------------------------------------------------------------------------------- /python_wrapper/ai_logging/drivers/__init__.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | from .pyserialport import Serial 21 | from .wcid_usb_driver import UsbWcidDriver 22 | 23 | -------------------------------------------------------------------------------- /python_wrapper/packet_reader_demo.py: -------------------------------------------------------------------------------- 1 | ################################################################################### 2 | # Copyright (c) 2020-2021 STMicroelectronics. 3 | # All rights reserved. 4 | # This software is licensed under terms that can be found in the LICENSE file in 5 | # the root directory of this software component. 6 | # If no LICENSE file comes with this software, it is provided AS-IS. 7 | ################################################################################### 8 | 9 | __author__ = "Romain LE DONGE" 10 | __copyright__ = "Copyright (c) 2021 STMicroelectronics" 11 | __license__ = """ 12 | Copyright (c) 2020-2021 STMicroelectronics. 13 | All rights reserved. 14 | This software is licensed under terms that can be found in the LICENSE file in 15 | the root directory of this software component. 16 | If no LICENSE file comes with this software, it is provided AS-IS. 17 | """ 18 | 19 | 20 | """! 21 | Simple example reading data on channel specified 22 | 23 | First question, on which communication channel are you trying to read the data from ? 24 | Configure below the commmunication interface you need (serial/usb, ComPort/VID:PID) 25 | """ 26 | 27 | from ai_logging import AILoggingAPI 28 | from ai_logging.decoders.decoder import get_decoder_for_data 29 | 30 | 31 | api = AILoggingAPI('serial', 'COM29', read_size=0) # Serial connection 32 | # api = AILoggingAPI('usb', '0x0483:0x5743', read_endpoint=0x81) # USB WCID connection using USB 'VID:PID' syntax 33 | 34 | while True: 35 | packet = api.wait_for_packet() 36 | 37 | if packet is not None: 38 | if packet.get('message', None) is not None: 39 | print("Message: {}".format(packet.get('message'))) 40 | 41 | if packet.get('data', None) is not None: 42 | decoder_to_use = get_decoder_for_data(packet) 43 | decoded_data = decoder_to_use.decode(packet) 44 | print("Packet received: {}".format(decoded_data), flush=True) 45 | -------------------------------------------------------------------------------- /python_wrapper/requirements.txt: -------------------------------------------------------------------------------- 1 | numpy 2 | pyserial 3 | pyusb 4 | Pillow 5 | matplotlib 6 | -------------------------------------------------------------------------------- /python_wrapper/st_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/python_wrapper/st_logo.jpg -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/Common/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/stm32_examples/Drivers/Components/Common/_htmresc/st_logo.png -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/Common/io.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file io.h 4 | * @author MCD Application Team 5 | * @brief This file contains all the functions prototypes for the IO driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2018 STMicroelectronics. 10 | * All rights reserved. 11 | * This software is licensed under terms that can be found in the LICENSE file in 12 | * the root directory of this software component. 13 | * If no LICENSE file comes with this software, it is provided AS-IS. 14 | * 15 | ****************************************************************************** 16 | */ 17 | 18 | /* Define to prevent recursive inclusion -------------------------------------*/ 19 | #ifndef IO_H 20 | #define IO_H 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | /* Includes ------------------------------------------------------------------*/ 27 | #include 28 | 29 | /** @addtogroup BSP 30 | * @{ 31 | */ 32 | 33 | /** @addtogroup Components 34 | * @{ 35 | */ 36 | 37 | /** @addtogroup IO 38 | * @{ 39 | */ 40 | 41 | /** @defgroup IO_Exported_Types IO Exported Types 42 | * @{ 43 | */ 44 | 45 | /** @defgroup IO_Driver_structure IO Driver structure 46 | * @{ 47 | */ 48 | typedef struct 49 | { 50 | int32_t (*Init )(void*, void*); 51 | int32_t (*DeInit )(void*); 52 | int32_t (*ReadID )(void*, uint32_t*); 53 | int32_t (*Reset )(void*); 54 | int32_t (*Start )(void*, uint32_t); 55 | int32_t (*WritePin )(void*, uint32_t, uint8_t); 56 | int32_t (*ReadPin )(void*, uint32_t); 57 | int32_t (*EnableIT )(void*); 58 | int32_t (*DisableIT )(void*); 59 | int32_t (*ITStatus )(void*, uint32_t); 60 | int32_t (*ClearIT )(void*, uint32_t); 61 | }IO_Drv_t; 62 | /** 63 | * @} 64 | */ 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | /** 71 | * @} 72 | */ 73 | 74 | /** 75 | * @} 76 | */ 77 | 78 | /** 79 | * @} 80 | */ 81 | 82 | #ifdef __cplusplus 83 | } 84 | #endif 85 | 86 | #endif /* IO_H */ 87 | 88 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 89 | -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/ft6x06/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/stm32_examples/Drivers/Components/ft6x06/_htmresc/st_logo.png -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/ft6x06/ft6x06_conf_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file ft6x06_conf.h 4 | * @author MCD Application Team 5 | * @brief This file contains specific configuration for the 6 | * ft6x06.c that can be modified by user. 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | * Copyright (c) 2019 STMicroelectronics. 11 | * All rights reserved. 12 | * This software is licensed under terms that can be found in the LICENSE file in 13 | * the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef FT6X06_CONF_H 21 | #define FT6X06_CONF_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | /* Macros --------------------------------------------------------------------*/ 29 | /* Exported types ------------------------------------------------------------*/ 30 | /* Exported constants --------------------------------------------------------*/ 31 | #define FT6X06_AUTO_CALIBRATION_ENABLED 0U 32 | #define FT6X06_MAX_X_LENGTH 800U 33 | #define FT6X06_MAX_Y_LENGTH 480U 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | #endif /* FT6X06_CONF_H */ 39 | 40 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 41 | -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/is42s32800j/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/stm32_examples/Drivers/Components/is42s32800j/_htmresc/st_logo.png -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/is42s32800j/is42s32800j_conf_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file is42s32800j_conf.h 4 | * @author MCD Application Team 5 | * @brief This file contains some configurations required for the 6 | * IS42S32800J SDRAM memory. 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | * Copyright (c) 2018 STMicroelectronics. 11 | * All rights reserved. 12 | * This software is licensed under terms that can be found in the LICENSE file in 13 | * the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef IS42S32800J_CONF_H 21 | #define IS42S32800J_CONF_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "stm32f7xx_hal.h" 29 | 30 | /** @addtogroup BSP 31 | * @{ 32 | */ 33 | 34 | /** @addtogroup Components 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup IS42S32800J 39 | * @{ 40 | */ 41 | 42 | /** @addtogroup IS42S32800J_Exported_Constants 43 | * @{ 44 | */ 45 | #define REFRESH_COUNT ((uint32_t)0x0603) /* SDRAM refresh counter (100Mhz SD clock) */ 46 | 47 | #define IS42S32800J_TIMEOUT ((uint32_t)0xFFFF) 48 | 49 | #ifdef __cplusplus 50 | } 51 | #endif 52 | 53 | #endif /* IS42S32800J_CONF_H */ 54 | /** 55 | * @} 56 | */ 57 | 58 | /** 59 | * @} 60 | */ 61 | 62 | /** 63 | * @} 64 | */ 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 71 | -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/mt25tl01g/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/stm32_examples/Drivers/Components/mt25tl01g/_htmresc/st_logo.png -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/mt25tl01g/mt25tl01g_conf_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file mt25tl01g_conf_template.h 4 | * @author MCD Application Team 5 | * @brief This file contains all the description of the 6 | * MT25TL01G QSPI memory. 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | * Copyright (c) 2019 STMicroelectronics. 11 | * All rights reserved. 12 | * This software is licensed under terms that can be found in the LICENSE file in 13 | * the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | ****************************************************************************** 16 | */ 17 | 18 | /* Define to prevent recursive inclusion -------------------------------------*/ 19 | #ifndef MT25TL01G_CONF_H 20 | #define MT25TL01G_CONF_H 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | /* Includes ------------------------------------------------------------------*/ 27 | #include "stm32xxxx.h" 28 | #include "stm32xxxx_hal.h" 29 | 30 | /** @addtogroup BSP 31 | * @{ 32 | */ 33 | 34 | #define CONF_MT25TL01G_READ_ENHANCE 0 /* MMP performance enhance reade enable/disable */ 35 | 36 | #define CONF_QSPI_ODS MT25TL01G_CR_ODS_15 37 | 38 | #define CONF_QSPI_DUMMY_CLOCK 8U 39 | 40 | /* Dummy cycles for STR read mode */ 41 | #define MT25TL01G_DUMMY_CYCLES_READ_QUAD 8U 42 | #define MT25TL01G_DUMMY_CYCLES_READ 8U 43 | /* Dummy cycles for DTR read mode */ 44 | #define MT25TL01G_DUMMY_CYCLES_READ_DTR 6U 45 | #define MT25TL01G_DUMMY_CYCLES_READ_QUAD_DTR 8U 46 | 47 | #ifdef __cplusplus 48 | } 49 | #endif 50 | 51 | #endif /* MT25TL01G_CONF_H */ 52 | 53 | /** 54 | * @} 55 | */ 56 | 57 | /** 58 | * @} 59 | */ 60 | 61 | /** 62 | * @} 63 | */ 64 | 65 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 66 | -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/otm8009a/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/stm32_examples/Drivers/Components/otm8009a/_htmresc/st_logo.png -------------------------------------------------------------------------------- /stm32_examples/Drivers/Components/ov9655/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/stm32_examples/Drivers/Components/ov9655/_htmresc/st_logo.png -------------------------------------------------------------------------------- /stm32_examples/FILE_TO_DOWNLOAD_MANUALLY.md: -------------------------------------------------------------------------------- 1 | # Files to be added manually 2 | 3 | STM32 Projects are using STM32CubeH7 and STM32CubeL4 4 | First you need to download: 5 | - [STM32CubeH7](https://github.com/STMicroelectronics/STM32CubeH7/tree/v1.9.0) 6 | - [STM32CubeL4](https://github.com/STMicroelectronics/STM32CubeL4/tree/v1.17.0) 7 | 8 | Then dispatch files: 9 | - Copy CMSIS Includes: *STM32CubeH7/Drivers/CMSIS/Include* to **Drivers/CMSIS/Include** 10 | - Copy CMSIS specific to the board: *STM32CubeH7/Drivers/CMSIS/Device/ST/STM32H7xx* to **Drivers/CMSIS/Device/ST/STM32H7xx** 11 | - Copy Board BSP: *STM32CubeH7/Drivers/BSP/STM32H747I-DISCO* to **Drivers/STM32H747I-DISCO** 12 | - Copy HAL Driver: *STM32CubeH7/Drivers/STM32H7xx_HAL_Driver* to **Drivers/STM32H7xx_HAL_Driver** 13 | 14 | - Copy CMSIS specific to the board: *STM32CubeL4/Drivers/CMSIS/Device/ST/STM32L4xx* to **Drivers/CMSIS/Device/ST/STM32L4xx** 15 | - Copy Board BSP: *STM32CubeL4/Drivers/BSP/B-L475E-IOT01* to **Drivers/B-L475E-IOT01** 16 | - Copy HAL Driver: *STM32CubeL4/Drivers/STM32L4xx_HAL_Driver* to **Drivers/STM32L4xx_HAL_Driver** 17 | - Copy USB Middleware: *STM32CubeL4/Middlewares/ST/* to **Middlewares/ST** 18 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Message_Transmission/.gitignore: -------------------------------------------------------------------------------- 1 | workspace/ 2 | 3 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Message_Transmission/EWARM/.gitignore: -------------------------------------------------------------------------------- 1 | USB_CDC_Message_Transmission/ 2 | settings/ 3 | 4 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Message_Transmission/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $WS_DIR$\USB_CDC_Message_Transmission.ewp 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Message_Transmission/EWARM/stm32l475xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | 42 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Message_Transmission/EWARM/stm32l475xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x400; 14 | define symbol __ICFEDIT_size_heap__ = 0x200; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20010000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; 40 | place in SRAM1_region { }; 41 | place in SRAM2_region { }; 42 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Message_Transmission/STM32CubeIDE/.gitignore: -------------------------------------------------------------------------------- 1 | Release/ 2 | Debug/ 3 | .settings 4 | 5 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Multiple_Data_Transmission/.gitignore: -------------------------------------------------------------------------------- 1 | workspace/ 2 | 3 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Multiple_Data_Transmission/Core/Inc/b_l475e_iot01a1_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : b_l475e_iot01a1_conf.h 4 | * @brief : Configuration file 5 | ****************************************************************************** 6 | * 7 | * Copyright (c) 2020-2021 STMicroelectronics. 8 | * All rights reserved. 9 | * This software is licensed under terms that can be found in the LICENSE file in 10 | * the root directory of this software component. 11 | * If no LICENSE file comes with this software, it is provided AS-IS. 12 | * 13 | ****************************************************************************** 14 | */ 15 | 16 | /* Define to prevent recursive inclusion -------------------------------------*/ 17 | #ifndef B_L475E_IOT01A1_CONF_H 18 | #define B_L475E_IOT01A1_CONF_H 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | /* Includes ------------------------------------------------------------------*/ 24 | #include "stm32l4xx_hal.h" 25 | 26 | /** @addtogroup BSP 27 | * @{ 28 | */ 29 | 30 | /** @addtogroup B_L475E_IOT01A1 31 | * @{ 32 | */ 33 | 34 | /** @defgroup B_L475E_IOT01A1_CONFIG Config 35 | * @{ 36 | */ 37 | 38 | /** @defgroup B_L475E_IOT01A1_CONFIG_Exported_Constants 39 | * @{ 40 | */ 41 | /* COM Feature define */ 42 | #define USE_BSP_COM_FEATURE 0U 43 | 44 | /* COM define */ 45 | #define USE_COM_LOG 1U 46 | 47 | /* IRQ priorities */ 48 | #define BSP_BUTTON_USER_IT_PRIORITY 15U 49 | 50 | /* I2C1 Frequeny in Hz */ 51 | #define BUS_I2C1_FREQUENCY 100000U /* Frequency of I2C1 = 100 KHz*/ 52 | 53 | /* SPI1 Baud rate in bps */ 54 | #define BUS_SPI1_BAUDRATE 16000000U /* baud rate of SPIn = 16 Mbps */ 55 | 56 | /* UART1 Baud rate in bps */ 57 | #define BUS_UART1_BAUDRATE 9600U /* baud rate of UARTn = 9600 baud */ 58 | /** 59 | * @} 60 | */ 61 | 62 | /** 63 | * @} 64 | */ 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | /** 71 | * @} 72 | */ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | #endif /* B_L475E_IOT01A1_CONF_H */ 78 | 79 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 80 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Multiple_Data_Transmission/Core/Inc/b_l475e_iot01a1_errno.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : b_l475e_iot01a1_errno.h 4 | * @brief : Error Code 5 | ****************************************************************************** 6 | * 7 | * Copyright (c) 2020-2021 STMicroelectronics. 8 | * All rights reserved. 9 | * This software is licensed under terms that can be found in the LICENSE file in 10 | * the root directory of this software component. 11 | * If no LICENSE file comes with this software, it is provided AS-IS. 12 | * 13 | ****************************************************************************** 14 | */ 15 | */ 16 | 17 | /* Define to prevent recursive inclusion -------------------------------------*/ 18 | #ifndef B_L475E_IOT01A1_ERRNO_H 19 | #define B_L475E_IOT01A1_ERRNO_H 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | /* BSP Common Error codes */ 26 | #define BSP_ERROR_NONE 0 27 | #define BSP_ERROR_NO_INIT -1 28 | #define BSP_ERROR_WRONG_PARAM -2 29 | #define BSP_ERROR_BUSY -3 30 | #define BSP_ERROR_PERIPH_FAILURE -4 31 | #define BSP_ERROR_COMPONENT_FAILURE -5 32 | #define BSP_ERROR_UNKNOWN_FAILURE -6 33 | #define BSP_ERROR_UNKNOWN_COMPONENT -7 34 | #define BSP_ERROR_BUS_FAILURE -8 35 | #define BSP_ERROR_CLOCK_FAILURE -9 36 | #define BSP_ERROR_MSP_FAILURE -10 37 | #define BSP_ERROR_FEATURE_NOT_SUPPORTED -11 38 | 39 | 40 | /* BSP BUS error codes */ 41 | 42 | #define BSP_ERROR_BUS_TRANSACTION_FAILURE -100 43 | #define BSP_ERROR_BUS_ARBITRATION_LOSS -101 44 | #define BSP_ERROR_BUS_ACKNOWLEDGE_FAILURE -102 45 | #define BSP_ERROR_BUS_PROTOCOL_FAILURE -103 46 | 47 | #define BSP_ERROR_BUS_MODE_FAULT -104 48 | #define BSP_ERROR_BUS_FRAME_ERROR -105 49 | #define BSP_ERROR_BUS_CRC_ERROR -106 50 | #define BSP_ERROR_BUS_DMA_FAILURE -107 51 | 52 | #endif /*B_L475E_IOT01A1_ERRNO_H */ 53 | 54 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 55 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Multiple_Data_Transmission/EWARM/.gitignore: -------------------------------------------------------------------------------- 1 | USB_CDC_Multiple_Data_Transmission/ 2 | settings 3 | 4 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Multiple_Data_Transmission/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $WS_DIR$\USB_CDC_Multiple_Data_Transmission.ewp 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Multiple_Data_Transmission/EWARM/stm32l475xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x4000; 14 | define symbol __ICFEDIT_size_heap__ = 0x2000; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | 42 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Multiple_Data_Transmission/EWARM/stm32l475xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x4000; 14 | define symbol __ICFEDIT_size_heap__ = 0x2000; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20010000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; 40 | place in SRAM1_region { }; 41 | place in SRAM2_region { }; 42 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_CDC_Multiple_Data_Transmission/STM32CubeIDE/.gitignore: -------------------------------------------------------------------------------- 1 | .settings/ 2 | Release/ 3 | Debug/ 4 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/.gitignore: -------------------------------------------------------------------------------- 1 | workspace/ 2 | 3 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/Core/Inc/RTE_Components.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file 4 | * @author MCD Application Team 5 | * @version V2.0.0 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2020 STMicroelectronics. 10 | * All rights reserved. 11 | * This software is licensed under terms that can be found in the LICENSE file in 12 | * the root directory of this software component. 13 | * If no LICENSE file comes with this software, it is provided AS-IS. 14 | * 15 | */ 16 | /* Define to prevent recursive inclusion -------------------------------------*/ 17 | #ifndef __RTE_COMPONENTS_H__ 18 | #define __RTE_COMPONENTS_H__ 19 | 20 | /* Defines ------------------------------------------------------------------*/ 21 | /* STMicroelectronics.X-CUBE-MEMS1.7.0.0 */ 22 | #define LSM6DSL_ACCGYR_I2C 23 | 24 | #endif /* __RTE_COMPONENTS_H__ */ 25 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/Core/Inc/b_l475e_iot01a1_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : b_l475e_iot01a1_conf.h 4 | * @brief : Configuration file 5 | ****************************************************************************** 6 | ****************************************************************************** 7 | */ 8 | 9 | /* Define to prevent recursive inclusion -------------------------------------*/ 10 | #ifndef B_L475E_IOT01A1_CONF_H 11 | #define B_L475E_IOT01A1_CONF_H 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | /* Includes ------------------------------------------------------------------*/ 17 | #include "stm32l4xx_hal.h" 18 | 19 | /** @addtogroup BSP 20 | * @{ 21 | */ 22 | 23 | /** @addtogroup B_L475E_IOT01A1 24 | * @{ 25 | */ 26 | 27 | /** @defgroup B_L475E_IOT01A1_CONFIG Config 28 | * @{ 29 | */ 30 | 31 | /** @defgroup B_L475E_IOT01A1_CONFIG_Exported_Constants 32 | * @{ 33 | */ 34 | /* COM Feature define */ 35 | #define USE_BSP_COM_FEATURE 0U 36 | 37 | /* COM define */ 38 | #define USE_COM_LOG 1U 39 | 40 | /* IRQ priorities */ 41 | #define BSP_BUTTON_USER_IT_PRIORITY 15U 42 | 43 | /* I2C1 Frequeny in Hz */ 44 | #define BUS_I2C1_FREQUENCY 100000U /* Frequency of I2C1 = 100 KHz*/ 45 | 46 | /* SPI1 Baud rate in bps */ 47 | #define BUS_SPI1_BAUDRATE 16000000U /* baud rate of SPIn = 16 Mbps */ 48 | 49 | /* UART1 Baud rate in bps */ 50 | #define BUS_UART1_BAUDRATE 9600U /* baud rate of UARTn = 9600 baud */ 51 | /** 52 | * @} 53 | */ 54 | 55 | /** 56 | * @} 57 | */ 58 | 59 | /** 60 | * @} 61 | */ 62 | 63 | /** 64 | * @} 65 | */ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | #endif /* B_L475E_IOT01A1_CONF_H */ 71 | 72 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 73 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/Core/Inc/b_l475e_iot01a1_errno.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file : b_l475e_iot01a1_errno.h 4 | * @brief : Error Code 5 | ****************************************************************************** 6 | * 7 | * Copyright (c) 2020-2021 STMicroelectronics. 8 | * All rights reserved. 9 | * This software is licensed under terms that can be found in the LICENSE file in 10 | * the root directory of this software component. 11 | * If no LICENSE file comes with this software, it is provided AS-IS. 12 | * 13 | ****************************************************************************** 14 | */ 15 | */ 16 | 17 | /* Define to prevent recursive inclusion -------------------------------------*/ 18 | #ifndef B_L475E_IOT01A1_ERRNO_H 19 | #define B_L475E_IOT01A1_ERRNO_H 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | /* BSP Common Error codes */ 26 | #define BSP_ERROR_NONE 0 27 | #define BSP_ERROR_NO_INIT -1 28 | #define BSP_ERROR_WRONG_PARAM -2 29 | #define BSP_ERROR_BUSY -3 30 | #define BSP_ERROR_PERIPH_FAILURE -4 31 | #define BSP_ERROR_COMPONENT_FAILURE -5 32 | #define BSP_ERROR_UNKNOWN_FAILURE -6 33 | #define BSP_ERROR_UNKNOWN_COMPONENT -7 34 | #define BSP_ERROR_BUS_FAILURE -8 35 | #define BSP_ERROR_CLOCK_FAILURE -9 36 | #define BSP_ERROR_MSP_FAILURE -10 37 | #define BSP_ERROR_FEATURE_NOT_SUPPORTED -11 38 | 39 | 40 | /* BSP BUS error codes */ 41 | 42 | #define BSP_ERROR_BUS_TRANSACTION_FAILURE -100 43 | #define BSP_ERROR_BUS_ARBITRATION_LOSS -101 44 | #define BSP_ERROR_BUS_ACKNOWLEDGE_FAILURE -102 45 | #define BSP_ERROR_BUS_PROTOCOL_FAILURE -103 46 | 47 | #define BSP_ERROR_BUS_MODE_FAULT -104 48 | #define BSP_ERROR_BUS_FRAME_ERROR -105 49 | #define BSP_ERROR_BUS_CRC_ERROR -106 50 | #define BSP_ERROR_BUS_DMA_FAILURE -107 51 | 52 | #endif /*B_L475E_IOT01A1_ERRNO_H */ 53 | 54 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 55 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/Core/Inc/custom_mems_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file custom_mems_conf.h 4 | * @author MEMS Application Team 5 | * @version V7.0.0 6 | * @date 24-June-2019 7 | * @brief This file contains definitions of the MEMS components bus interfaces for custom boards 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | * Copyright (c) 2020-2021 STMicroelectronics. 12 | * All rights reserved. 13 | * This software is licensed under terms that can be found in the LICENSE file in 14 | * the root directory of this software component. 15 | * If no LICENSE file comes with this software, it is provided AS-IS. 16 | * 17 | ****************************************************************************** 18 | */ 19 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ 21 | #ifndef __CUSTOM_MEMS_CONF_H__ 22 | #define __CUSTOM_MEMS_CONF_H__ 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "stm32l4xx_hal.h" 30 | #include "b_l475e_iot01a1_bus.h" 31 | #include "b_l475e_iot01a1_errno.h" 32 | 33 | /* USER CODE BEGIN 1 */ 34 | 35 | /* USER CODE END 1 */ 36 | 37 | #define USE_CUSTOM_MOTION_SENSOR_LSM6DSL_0 1U 38 | 39 | #define CUSTOM_LSM6DSL_0_I2C_Init BSP_I2C2_Init 40 | #define CUSTOM_LSM6DSL_0_I2C_DeInit BSP_I2C2_DeInit 41 | #define CUSTOM_LSM6DSL_0_I2C_ReadReg BSP_I2C2_ReadReg 42 | #define CUSTOM_LSM6DSL_0_I2C_WriteReg BSP_I2C2_WriteReg 43 | 44 | #ifdef __cplusplus 45 | } 46 | #endif 47 | 48 | #endif /* __CUSTOM_MEMS_CONF_H__*/ 49 | 50 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 51 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/Core/Inc/usbd_desc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file USB_Device/CDC_Standalone/Inc/usbd_desc.h 4 | * @author MCD Application Team 5 | * @brief Header for usbd_desc.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved. 11 | * This software is licensed under terms that can be found in the LICENSE file in 12 | * the root directory of this software component. 13 | * If no LICENSE file comes with this software, it is provided AS-IS. 14 | * 15 | ****************************************************************************** 16 | */ 17 | 18 | /* Define to prevent recursive inclusion -------------------------------------*/ 19 | #ifndef __USBD_DESC_H 20 | #define __USBD_DESC_H 21 | 22 | /* Includes ------------------------------------------------------------------*/ 23 | #include "usbd_def.h" 24 | 25 | /* Exported types ------------------------------------------------------------*/ 26 | /* Exported constants --------------------------------------------------------*/ 27 | #define DEVICE_ID1 (UID_BASE) 28 | #define DEVICE_ID2 (UID_BASE+0x4) 29 | #define DEVICE_ID3 (UID_BASE+0x8) 30 | 31 | #define USB_SIZ_STRING_SERIAL 0x1A 32 | /* Exported macro ------------------------------------------------------------*/ 33 | /* Exported functions ------------------------------------------------------- */ 34 | extern USBD_DescriptorsTypeDef VCP_Desc; 35 | extern USBD_DescriptorsTypeDef WCID_STREAMING_Desc; 36 | 37 | #endif /* __USBD_DESC_H */ 38 | 39 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 40 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/EWARM/.gitignore: -------------------------------------------------------------------------------- 1 | USB_WCID_Accelerometer_Visualization 2 | *.dep 3 | settings 4 | 5 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $WS_DIR$\USB_WCID_Accelerometer_Visualization.ewp 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/EWARM/stm32l475xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x4000; 14 | define symbol __ICFEDIT_size_heap__ = 0x2000; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20000000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 29 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 30 | 31 | initialize by copy { readwrite }; 32 | do not initialize { section .noinit }; 33 | 34 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 35 | 36 | place in ROM_region { readonly }; 37 | place in RAM_region { readwrite, 38 | block CSTACK, block HEAP }; 39 | place in SRAM1_region { }; 40 | place in SRAM2_region { }; 41 | 42 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/EWARM/stm32l475xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; 11 | 12 | /*-Sizes-*/ 13 | define symbol __ICFEDIT_size_cstack__ = 0x4000; 14 | define symbol __ICFEDIT_size_heap__ = 0x2000; 15 | /**** End of ICF editor section. ###ICF###*/ 16 | 17 | define symbol __region_SRAM1_start__ = 0x20010000; 18 | define symbol __region_SRAM1_end__ = 0x20017FFF; 19 | define symbol __region_SRAM2_start__ = 0x10000000; 20 | define symbol __region_SRAM2_end__ = 0x10007FFF; 21 | 22 | define memory mem with size = 4G; 23 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 24 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 25 | define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__]; 26 | define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__]; 27 | 28 | 29 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 30 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 31 | 32 | initialize by copy { readwrite }; 33 | do not initialize { section .noinit }; 34 | 35 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 36 | 37 | place in ROM_region { readonly }; 38 | place in RAM_region { readwrite, 39 | block CSTACK, block HEAP }; 40 | place in SRAM1_region { }; 41 | place in SRAM2_region { }; 42 | -------------------------------------------------------------------------------- /stm32_examples/Projects/B-L475-IOT01A/Examples/USB_WCID_Accelerometer_Visualization/STM32CubeIDE/.gitignore: -------------------------------------------------------------------------------- 1 | .settings/ 2 | Release/ 3 | Debug/ 4 | *.launch 5 | 6 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/CM7/Core/Inc/is42s32800j_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file is42s32800j_conf.h 4 | * @author MCD Application Team 5 | * @brief This file contains some configurations required for the 6 | * IS42S32800J SDRAM memory. 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | * Copyright (c) 2018 STMicroelectronics. 11 | * All rights reserved. 12 | * This software is licensed under terms that can be found in the LICENSE file in 13 | * the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef IS42S32800J_CONF_H 21 | #define IS42S32800J_CONF_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "stm32h7xx_hal.h" 29 | #include "stm32h7xx_hal_sdram.h" 30 | /** @addtogroup BSP 31 | * @{ 32 | */ 33 | 34 | /** @addtogroup Components 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup IS42S32800J 39 | * @{ 40 | */ 41 | 42 | /** @addtogroup IS42S32800J_Exported_Constants 43 | * @{ 44 | */ 45 | #define REFRESH_COUNT ((uint32_t)0x0603) /* SDRAM refresh counter (100Mhz SD clock) */ 46 | 47 | #define IS42S32800J_TIMEOUT ((uint32_t)0xFFFF) 48 | 49 | #ifdef __cplusplus 50 | } 51 | #endif 52 | 53 | #endif /* IS42S32800J_CONF_H */ 54 | /** 55 | * @} 56 | */ 57 | 58 | /** 59 | * @} 60 | */ 61 | 62 | /** 63 | * @} 64 | */ 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 71 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/CM7/Core/Inc/usbd_desc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file USB_Device/CDC_Standalone/Inc/usbd_desc.h 4 | * @author MCD Application Team 5 | * @brief Header for usbd_desc.c module 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved. 11 | * This software is licensed under terms that can be found in the LICENSE file in 12 | * the root directory of this software component. 13 | * If no LICENSE file comes with this software, it is provided AS-IS. 14 | * 15 | ****************************************************************************** 16 | */ 17 | 18 | /* Define to prevent recursive inclusion -------------------------------------*/ 19 | #ifndef __USBD_DESC_H 20 | #define __USBD_DESC_H 21 | 22 | /* Includes ------------------------------------------------------------------*/ 23 | #include "usbd_def.h" 24 | 25 | /* Exported types ------------------------------------------------------------*/ 26 | /* Exported constants --------------------------------------------------------*/ 27 | #define DEVICE_ID1 (UID_BASE) 28 | #define DEVICE_ID2 (UID_BASE+0x4) 29 | #define DEVICE_ID3 (UID_BASE+0x8) 30 | 31 | #define USB_SIZ_STRING_SERIAL 0x1A 32 | /* Exported macro ------------------------------------------------------------*/ 33 | /* Exported functions ------------------------------------------------------- */ 34 | extern USBD_DescriptorsTypeDef VCP_Desc; 35 | extern USBD_DescriptorsTypeDef WCID_STREAMING_Desc; 36 | 37 | #endif /* __USBD_DESC_H */ 38 | 39 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 40 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/.gitignore: -------------------------------------------------------------------------------- 1 | USB_WCID_ImageDisplay_CM7/ 2 | settings/ 3 | 4 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $WS_DIR$\USB_WCID_ImageDisplay.ewp 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/stm32h747xx_dtcmram_CM7.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; 11 | define symbol __ICFEDIT_region_ITCMRAM_start__ = 0x00000000; 12 | define symbol __ICFEDIT_region_ITCMRAM_end__ = 0x0000FFFF; 13 | /*-Sizes-*/ 14 | define symbol __ICFEDIT_size_cstack__ = 0x400; 15 | define symbol __ICFEDIT_size_heap__ = 0x8000; 16 | /**** End of ICF editor section. ###ICF###*/ 17 | 18 | 19 | define memory mem with size = 4G; 20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 22 | define region ITCMRAM_region = mem:[from __ICFEDIT_region_ITCMRAM_start__ to __ICFEDIT_region_ITCMRAM_end__]; 23 | 24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 26 | 27 | initialize by copy { readwrite }; 28 | do not initialize { section .noinit }; 29 | 30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 31 | 32 | place in ROM_region { readonly }; 33 | place in RAM_region { readwrite, 34 | block CSTACK, block HEAP }; 35 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/stm32h747xx_flash_CM4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08100000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08100000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x10000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x10047FFF; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x8000; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; 32 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/stm32h747xx_flash_CM7.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x24000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2401FFFF; 11 | define symbol __ICFEDIT_region_ITCMRAM_start__ = 0x00000000; 12 | define symbol __ICFEDIT_region_ITCMRAM_end__ = 0x0000FFFF; 13 | /*-Sizes-*/ 14 | define symbol __ICFEDIT_size_cstack__ = 0x400; 15 | define symbol __ICFEDIT_size_heap__ = 0x8000; 16 | /**** End of ICF editor section. ###ICF###*/ 17 | 18 | 19 | define memory mem with size = 4G; 20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 22 | define region ITCMRAM_region = mem:[from __ICFEDIT_region_ITCMRAM_start__ to __ICFEDIT_region_ITCMRAM_end__]; 23 | 24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 26 | 27 | initialize by copy { readwrite }; 28 | do not initialize { section .noinit }; 29 | 30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 31 | 32 | place in ROM_region { readonly }; 33 | place in RAM_region { readwrite, 34 | block CSTACK, block HEAP }; 35 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/stm32h747xx_flash_rw_sram1_CM7.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x24000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2407FFFF; 11 | define symbol __ICFEDIT_region_ITCMRAM_start__ = 0x00000000; 12 | define symbol __ICFEDIT_region_ITCMRAM_end__ = 0x0000FFFF; 13 | /*-Sizes-*/ 14 | define symbol __ICFEDIT_size_cstack__ = 0x400; 15 | define symbol __ICFEDIT_size_heap__ = 0x8000; 16 | /**** End of ICF editor section. ###ICF###*/ 17 | 18 | 19 | define memory mem with size = 4G; 20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 22 | define region ITCMRAM_region = mem:[from __ICFEDIT_region_ITCMRAM_start__ to __ICFEDIT_region_ITCMRAM_end__]; 23 | 24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 26 | 27 | initialize by copy { readwrite }; 28 | do not initialize { section .noinit }; 29 | 30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 31 | 32 | place in ROM_region { readonly }; 33 | place in RAM_region { readwrite, 34 | block CSTACK, block HEAP }; 35 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/stm32h747xx_flash_rw_sram2_CM4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08100000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08100000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x10000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x10047FFF; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x8000; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; 32 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/stm32h747xx_sram1_CM7.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x24000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x24000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2403FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x24040000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2407FFFF; 11 | define symbol __ICFEDIT_region_ITCMRAM_start__ = 0x00000000; 12 | define symbol __ICFEDIT_region_ITCMRAM_end__ = 0x0000FFFF; 13 | /*-Sizes-*/ 14 | define symbol __ICFEDIT_size_cstack__ = 0x400; 15 | define symbol __ICFEDIT_size_heap__ = 0x8000; 16 | /**** End of ICF editor section. ###ICF###*/ 17 | 18 | 19 | define memory mem with size = 4G; 20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 22 | define region ITCMRAM_region = mem:[from __ICFEDIT_region_ITCMRAM_start__ to __ICFEDIT_region_ITCMRAM_end__]; 23 | 24 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 26 | 27 | initialize by copy { readwrite }; 28 | do not initialize { section .noinit }; 29 | 30 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 31 | 32 | place in ROM_region { readonly }; 33 | place in RAM_region { readwrite, 34 | block CSTACK, block HEAP }; 35 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/EWARM/stm32h747xx_sram2_CM4.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x10000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x10000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x1001FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x10020000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x10047FFF; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x8000; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; 32 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/STM32CubeIDE/CM4/.gitignore: -------------------------------------------------------------------------------- 1 | .settings/ 2 | 3 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/STM32CubeIDE/CM7/.gitignore: -------------------------------------------------------------------------------- 1 | .settings/ 2 | 3 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/Utilities/Fonts/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/Utilities/Fonts/_htmresc/st_logo.png -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/Utilities/Fonts/fonts.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file fonts.h 4 | * @author MCD Application Team 5 | * @brief This file provide definition for fonts to be used for STM32xx-EVAL's 6 | * LCD driver 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | * Copyright (c) 2018 STMicroelectronics. 11 | * All rights reserved. 12 | * This software is licensed under terms that can be found in the LICENSE file in 13 | * the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef FONTS_H 21 | #define FONTS_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include 29 | 30 | /** @addtogroup Utilities 31 | * @{ 32 | */ 33 | 34 | /** @addtogroup STM32_EVAL 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup Common 39 | * @{ 40 | */ 41 | 42 | /** @addtogroup FONTS 43 | * @{ 44 | */ 45 | 46 | /** @defgroup FONTS_Exported_Types Exported Types 47 | * @{ 48 | */ 49 | typedef struct _tFont 50 | { 51 | const uint8_t *table; 52 | uint16_t Width; 53 | uint16_t Height; 54 | } sFONT; 55 | 56 | extern sFONT Font24; 57 | extern sFONT Font20; 58 | extern sFONT Font16; 59 | extern sFONT Font12; 60 | extern sFONT Font8; 61 | /** 62 | * @} 63 | */ 64 | 65 | #ifdef __cplusplus 66 | } 67 | #endif 68 | 69 | #endif /* FONTS_H */ 70 | 71 | /** 72 | * @} 73 | */ 74 | 75 | /** 76 | * @} 77 | */ 78 | 79 | /** 80 | * @} 81 | */ 82 | 83 | /** 84 | * @} 85 | */ 86 | 87 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 88 | -------------------------------------------------------------------------------- /stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/Utilities/lcd/_htmresc/st_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/STMicroelectronics/stm32ai-datalogger/0ba92ced44248e606a5cc68139fdfdc84489fa17/stm32_examples/Projects/STM32H747I-DISCO/Examples/USB_WCID_ImageDisplay/Utilities/lcd/_htmresc/st_logo.png --------------------------------------------------------------------------------