Skip to content

SmartElectroni/libpowermodul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libpowermodul

MIT License Copyright (c) 2025 SmartElectroni

English

Overview

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.

Features

  • 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)

Usage

  1. Include the header in your project:
#include "libmodul.h"
  1. Create protocol manager:
CanProtocolManager manager(ProtocolType::MMeet); // or ProtocolType::UUgreen
  1. Generate frames:
auto frame = manager.generateVoltageRequest(0x01); // Request voltage from device 0x01
  1. Parse incoming frames:
CanParser parser;
auto [data, result] = parser.parse(received_frame, ProtocolType::MMeet);
if (result == ParseResult::OK && data) {
    // Use parsed data
}

Building

The library is header-only. Just include the header file in your project.

Protocol Support

Feature UUgreen MMeet
Temperature read
Voltage read
Current read
Voltage set
Current set
Low/High mode
Auto mode
Power control

License

MIT License

About

Library for high-power charging module used multi-protocol

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published