MIT License Copyright (c) 2025 SmartElectroni
This C++ library provides functionality for generating and parsing CAN frames for different power supply protocols (UUGreenPower and Megmeet). It implements the Strategy design pattern to support multiple protocols through a unified interface.
Compatible Devices:
UR100030-SW (EU) (UUGreenPower) – A high-power 30kW charging module. MIPC1000-100G or MIPC1000-135G (Megmeet) – A high-power (30 - 40)kW charging module. Both modules are designed for fast-charging station applications.
- CAN frame generation for various commands:
- Temperature/voltage/current readings
- Mode control (low/high/auto)
- Voltage/current settings
- Power on/off commands
- Support for multiple protocols:
- UUgreen
- MMeet
- CAN frame parsing with protocol detection
- Cross-platform (requires C++17)
- Include the header in your project:
#include "libmodul.h"- Create protocol manager:
CanProtocolManager manager(ProtocolType::MMeet); // or ProtocolType::UUgreen- Generate frames:
auto frame = manager.generateVoltageRequest(0x01); // Request voltage from device 0x01- Parse incoming frames:
CanParser parser;
auto [data, result] = parser.parse(received_frame, ProtocolType::MMeet);
if (result == ParseResult::OK && data) {
// Use parsed data
}The library is header-only. Just include the header file in your project.
| Feature | UUgreen | MMeet |
|---|---|---|
| Temperature read | ✔ | ✔ |
| Voltage read | ✔ | ✔ |
| Current read | ✔ | ✔ |
| Voltage set | ✔ | ✔ |
| Current set | ✔ | ✔ |
| Low/High mode | ✔ | ✔ |
| Auto mode | ✖ | ✔ |
| Power control | ✔ | ✔ |
MIT License