https://github.com/danielmartensson/opensourcelogger
Data acquisition software with STM32-PLC. Collect measurement, analyze CAN-messages and send SAE-J1939 messages to other ECUs.
https://github.com/danielmartensson/opensourcelogger
c cpp data-aquisition imgui opengl stm32
Last synced: 7 months ago
JSON representation
Data acquisition software with STM32-PLC. Collect measurement, analyze CAN-messages and send SAE-J1939 messages to other ECUs.
- Host: GitHub
- URL: https://github.com/danielmartensson/opensourcelogger
- Owner: DanielMartensson
- License: mit
- Created: 2022-11-28T09:13:36.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-19T22:41:22.000Z (over 2 years ago)
- Last Synced: 2025-05-08T21:35:05.062Z (8 months ago)
- Topics: c, cpp, data-aquisition, imgui, opengl, stm32
- Language: C
- Homepage:
- Size: 357 MB
- Stars: 20
- Watchers: 1
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenSourceLogger
This is a data acquisition software made in C++ with ImGui framwork and OpenGL.
The purpose with this software is to collect measurement data and store that data inside a database
and also downloading measurement data from that database.
# This software is no longer maintained. The work of OpenSourceLogger will be in https://github.com/DanielMartensson/GoobySoft
In order to use this software, the following need to be known:
* Calibration with straight line equation
* CAN-bus frame
* Sampling measurement
* Comma Separated Value (CSV) file structure
* MySQL connection
* SAE-J1939 protocol
* Unsigned 8-bit, 16-bit, 32-bit maximum values
# Functionality
* 12 x ADC at 16-bit resolution for 0-20mA input with programmable gain
* 5 x Differential ADC at 16-bit for 0-20mA input with programmable gain
* 3 x DAC at 12-bit with 0-20mA output
* 8 x PWM for 0-2.2A with N-channel MOSFET
* 10 x Digital Input
* 1 x CAN-bus channel
* 4 x Input Capture for 0 kHz to 10kHz
* 3 x Encoder for -32768 to 32767 pulses
* 1 x USB port for connecting with [STM32-PLC](https://github.com/DanielMartensson/STM32-PLC)
* MySQL database connection
* SAE-J1939 communication standard with the software [Open-SAE-J1939](https://github.com/DanielMartensson/Open-SAE-J1939)
* CAN-terminal analyzer
# How to use this software
## Building from source
Download Microsoft Visual Studio. I have been using Microsoft Visual Studio 2022 to create this software.
You need a MSVC-compiler as well. The C++ standard of this project is C++20. Clone the project and
run the `.sln` file.
Also install these following dependencies from `vcpkg`
VCPKG dependencies:
- imgui[core,glfw-binding,opengl3-binding]:x64-windows
- opengl:x64-windows
- boost-asio:x64-windows
- mysql-connector-cpp:x64-windows
- nlohmann-json:x64-windows
- stb:x64-windows
## Run pre-built binaries
Inside `x64/Release` there is a file called `OpenSourceLogger.exe`. Run that.
# Pictures


# Status of the project
* Bug testing - This is just the first version
* Work on design
* Calibration factor for the analog measurements due to leakage of the zener diodes of STM32-PLC