Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
c4b6d3c
Add UUGP RS485 charger support
JorgenSeemann Aug 21, 2026
0640a65
Sync local repository
JorgenSeemann Aug 21, 2026
318c11a
Initial commit
JorgenSeemann Aug 21, 2026
d653cc3
Initial commit
JorgenSeemann Aug 21, 2026
109a576
Sync local repository
JorgenSeemann Aug 21, 2026
b9a5085
Merge branch 'main' into uugp-rs485
JorgenSeemann Aug 27, 2026
e5c3a2d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 27, 2026
a0a593d
Delete uugp.patch
JorgenSeemann Aug 27, 2026
56d49d7
uugp safety update
JorgenSeemann Sep 20, 2026
c6280b4
Merge branch 'uugp-rs485' of https://github.com/JorgenSeemann/Battery…
JorgenSeemann Sep 20, 2026
be46f79
Add UUGP charger support and safety handling
JorgenSeemann Sep 20, 2026
18102d2
Merge branch 'main' into uugp-rs485
JorgenSeemann Sep 20, 2026
6681b45
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 20, 2026
7914a26
Include UUGP charger in host tests
JorgenSeemann Sep 20, 2026
e469d79
Include UUGP charger in host tests
JorgenSeemann Sep 20, 2026
d02f746
Invalidate corrupted PlatformIO build cache
JorgenSeemann Sep 20, 2026
52d8b9f
Invalidate corrupted PlatformIO build cache
JorgenSeemann Sep 20, 2026
1948437
Fix PlatformIO CI cache
JorgenSeemann Sep 20, 2026
ce83003
Fix PlatformIO CI cache
JorgenSeemann Sep 20, 2026
821a0b9
Revert "Fix PlatformIO CI cache"
JorgenSeemann Sep 20, 2026
aa5533c
Restore main CI workflow
JorgenSeemann Sep 20, 2026
d506a29
Revert "Fix PlatformIO CI cache"
JorgenSeemann Sep 20, 2026
15a4f51
Trigger UUGP RS485 board builds
JorgenSeemann Sep 20, 2026
31ea450
Remove generated build files and local UUGP scripts
JorgenSeemann Sep 20, 2026
2841ff4
Fixed temperatur and microSD
JorgenSeemann Sep 20, 2026
15642b3
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Sep 21, 2026
ef6330c
Fix missed BYD settings
JorgenSeemann Sep 21, 2026
8ca1fc3
Fix incorrectly deleted BYD data
JorgenSeemann Sep 21, 2026
d8d5d92
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 21, 2026
993c56d
Added #ifndef SMALL_FLASH_DEVICE to .cpp
JorgenSeemann Sep 21, 2026
0513871
Added #ifndef SMALL_FLASH_DEVICE to .cpp
JorgenSeemann Sep 21, 2026
a25a47b
Added #ifndef SMALL_FLASH_DEVICE to .cpp /endif
JorgenSeemann Sep 21, 2026
02f2944
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 21, 2026
35ed8a9
Incorrect location of small_flash_device, giving build error
JorgenSeemann Sep 21, 2026
8b1f759
Merge branch 'uugp-rs485' of https://github.com/JorgenSeemann/Battery…
JorgenSeemann Sep 21, 2026
df6de73
changes re small board
JorgenSeemann Sep 21, 2026
3b16661
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 21, 2026
421362b
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Sep 21, 2026
fe335e8
Fix UUGP exclusion on small flash boards
JorgenSeemann Sep 22, 2026
ff77010
Delete backup (ups)
JorgenSeemann Sep 23, 2026
ddf918f
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Sep 23, 2026
28166ed
Delete .uugp-fix-backup-20260921-151358/*
JorgenSeemann Sep 23, 2026
14d9a9d
Delete .uugp-fix-backup-20260921-151358 directory
JorgenSeemann Sep 23, 2026
907f28c
Small board reduction
JorgenSeemann Sep 23, 2026
79304e6
Merge branch 'uugp-rs485' of https://github.com/JorgenSeemann/Battery…
JorgenSeemann Sep 23, 2026
ed742ec
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 23, 2026
52faf90
small device board
JorgenSeemann Sep 25, 2026
73c711b
Merge branch 'uugp-rs485' of https://github.com/JorgenSeemann/Battery…
JorgenSeemann Sep 25, 2026
6fffd03
Merge branch 'main' into uugp-rs485
JorgenSeemann Sep 25, 2026
04c39e6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 25, 2026
8ca004d
Reduce UUGP flash usage on small devices
JorgenSeemann Sep 25, 2026
03fd21d
Fix CAN charger alive check on small flash devices
JorgenSeemann Sep 27, 2026
4e2a7b1
Fix for compilation error
JorgenSeemann Sep 27, 2026
8634802
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 27, 2026
c67e408
Fix UUGP formatting
JorgenSeemann Sep 27, 2026
906717b
ifndif fix
JorgenSeemann Sep 27, 2026
00eee20
small device fix
JorgenSeemann Sep 27, 2026
bf755ab
Delete fix.ps1
JorgenSeemann Sep 27, 2026
489b3e0
Exclude UUGP from small flash builds
JorgenSeemann Sep 27, 2026
455badb
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 27, 2026
17a4b12
Delete Software/src/charger/CHARGERS.cpp.bak
JorgenSeemann Sep 28, 2026
05d2138
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Sep 28, 2026
da2f14d
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Sep 30, 2026
f801729
Fix UUGP integration and RS485 handling
JorgenSeemann Sep 30, 2026
6028a05
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Oct 1, 2026
f459813
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Oct 1, 2026
1b2d53d
Merge branch 'main' into uugp-rs485
JorgenSeemann Oct 6, 2026
5bc5192
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 6, 2026
d313b8c
Added UUGP as ifndef
JorgenSeemann Oct 6, 2026
842a1ef
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 6, 2026
9f09a0d
Fix typo in boolSettingNames array
JorgenSeemann Oct 6, 2026
aa362ff
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Oct 7, 2026
b2dd10c
Add new registers for charger status and parameters
JorgenSeemann Oct 7, 2026
5c9e1fc
Refactor initialization steps and register writes
JorgenSeemann Oct 7, 2026
482d482
Add module status and temperature variables
JorgenSeemann Oct 7, 2026
c8ffd5a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 7, 2026
c49a416
Update UUGP-CHARGER.cpp
JorgenSeemann Oct 7, 2026
7fa015b
Update UUGP-CHARGER.h
JorgenSeemann Oct 7, 2026
6b76ccb
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Oct 7, 2026
2d0878e
Remove unnecessary whitespace in UUGP-CHARGER.cpp
JorgenSeemann Oct 7, 2026
780efac
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 7, 2026
b9b070b
Remove start mode initialization from UUGPCharger
JorgenSeemann Oct 7, 2026
6cf4a31
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 7, 2026
d69edeb
Add start mode variable to UUGP-CHARGER
JorgenSeemann Oct 7, 2026
0f0b9a2
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Oct 11, 2026
c3984fa
Refactor UUGPCharger to use WiFiClient instead of HardwareSerial
JorgenSeemann Oct 11, 2026
dedf053
Refactor UUGPCharger for TCP communication
JorgenSeemann Oct 11, 2026
694a7b3
Implement receive method in UUGPCharger class
JorgenSeemann Oct 11, 2026
4da0881
Add IP and port settings for UUGP configuration
JorgenSeemann Oct 11, 2026
5a91c14
Update UUGP_STARTMODE to UUGP_PORT in webserver.cpp
JorgenSeemann Oct 11, 2026
5f875a9
Add UUGP IP and port settings to HTML
JorgenSeemann Oct 11, 2026
9142ee6
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Oct 11, 2026
908000d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
2eac768
Remove redundant receive method in UUGPCharger
JorgenSeemann Oct 11, 2026
c873e44
Refactor receive_tcp and add receive function
JorgenSeemann Oct 11, 2026
b714495
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
3131566
Improve TCP connection management in UUGP-CHARGER
JorgenSeemann Oct 11, 2026
e1cf149
Remove receive method override from UUGP-CHARGER
JorgenSeemann Oct 11, 2026
ccc73ff
Refactor UUGPCharger to streamline TCP communication
JorgenSeemann Oct 11, 2026
4a1ec7e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
38c8168
Conditionally include WiFiClient.h for Arduino
JorgenSeemann Oct 11, 2026
d0dfeab
Refactor ensure_tcp_connection method for clarity
JorgenSeemann Oct 11, 2026
9f8dd73
Add mock WiFi client for unit testing
JorgenSeemann Oct 11, 2026
e5a44ac
Add mock WiFiClient class for testing
JorgenSeemann Oct 11, 2026
dfc6fe0
Add mock IPAddress class for testing
JorgenSeemann Oct 11, 2026
856e7f7
Refactor UUGP-WiFiClient-Mock.h
JorgenSeemann Oct 11, 2026
0d06eb5
Remove WiFi.h include and fix header guard
JorgenSeemann Oct 11, 2026
e1ae11f
Add WiFi.h include to UUGP-WiFiClient-Mock.h
JorgenSeemann Oct 11, 2026
00a6db3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
2e7dd4b
Update UUGP-CHARGER.cpp
JorgenSeemann Oct 11, 2026
9c4e855
Remove extended/unicode whitespace characters from UUGP charger sourc…
JorgenSeemann Oct 11, 2026
dbe9482
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
b5f995b
Update UUGP-CHARGER.cpp
JorgenSeemann Oct 11, 2026
445f503
Add wifi.h include for charger functionality
JorgenSeemann Oct 11, 2026
94f03e7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
3d0a1b3
Add logging header to UUGP-CHARGER.cpp
JorgenSeemann Oct 11, 2026
0b45294
Remove unnecessary blank line in settings_html.cpp
JorgenSeemann Oct 11, 2026
a17087f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
48f569d
Remove non-ASCII characters from settings_html.cpp and save sanitized…
JorgenSeemann Oct 11, 2026
6876852
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
1c145f5
Add battery and inverter includes to settings_html.cpp
JorgenSeemann Oct 11, 2026
dee71b4
Fix HTML option tag construction in settings_html.cpp
JorgenSeemann Oct 11, 2026
30b8885
Refactor CTCLAMP and QNHCK settings HTML definitions
JorgenSeemann Oct 11, 2026
007a77f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 11, 2026
d9f2af8
Fix label for zero point drift temperature unit
JorgenSeemann Oct 11, 2026
93d2e12
Simplify connection check by removing wifi condition
JorgenSeemann Oct 11, 2026
9666a64
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Oct 12, 2026
dd3113c
Merge branch 'main' into uugp-rs485
JorgenSeemann Oct 12, 2026
19700d0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 12, 2026
7d8c98e
Refactor charger communication checks for UUGP
JorgenSeemann Oct 12, 2026
431b9db
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 12, 2026
ea9680e
Merge branch 'dalathegreat:main' into uugp-rs485
JorgenSeemann Oct 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ test/Makefile
test/cmake_install.cmake
test/gtest/
test/tests[1]_include.cmake
dependencies.lock
CMakeLists.txt

# Ignore .exe (unit tests)
*.exe
Expand Down
13 changes: 12 additions & 1 deletion Software/src/charger/CHARGERS.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include <vector>
#include "CanCharger.h"

CanCharger* charger = nullptr;
Charger* charger = nullptr;

ChargerType user_selected_charger_type = ChargerType::None;

Expand Down Expand Up @@ -32,6 +32,12 @@ extern const char* name_for_charger_type(ChargerType type) {
return ChevyVoltCharger::Name;
case ChargerType::NissanLeaf:
return NissanLeafCharger::Name;

#ifndef SMALL_FLASH_DEVICE

case ChargerType::UUGP:
return UUGPCharger::Name;
#endif
case ChargerType::None:
case ChargerType::Highest:
return "None";
Expand All @@ -49,6 +55,11 @@ void setup_charger() {
case ChargerType::NissanLeaf:
charger = new NissanLeafCharger();
break;
#ifndef SMALL_FLASH_DEVICE
case ChargerType::UUGP:
charger = new UUGPCharger();
break;
#endif
case ChargerType::None:
case ChargerType::Highest:
break;
Expand Down
6 changes: 4 additions & 2 deletions Software/src/charger/CHARGERS.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@

#include "CHEVY-VOLT-CHARGER.h"
#include "NISSAN-LEAF-CHARGER.h"

#ifndef SMALL_FLASH_DEVICE
#include "UUGP-CHARGER.h"
#endif
// Constructs the global charger object based on build-time selection of charger type.
// Safe to call even though no charger is selected.
void setup_charger();

// The selected charger or null if no charger in use.
extern CanCharger* charger;
extern Charger* charger;

//TODO: These should be user configurable via webserver
extern volatile float CHARGER_SET_HV;
Expand Down
13 changes: 10 additions & 3 deletions Software/src/charger/CanCharger.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,15 @@
#include "../devboard/safety/safety.h"
#include "../devboard/utils/types.h"

enum class ChargerType { None, NissanLeaf, ChevyVolt, Highest };

enum class ChargerType {
None,
NissanLeaf,
ChevyVolt,
#ifndef SMALL_FLASH_DEVICE
UUGP,
#endif
Highest
};
extern ChargerType user_selected_charger_type;

extern std::vector<ChargerType> supported_charger_types();
Expand Down Expand Up @@ -71,6 +78,6 @@ class CanCharger : public Charger, Transmitter, CanReceiver {
void transmit_can_frame(CAN_frame* frame) { transmit_can_frame_to_interface(frame, can_interface); }
};

extern CanCharger* charger;
extern Charger* charger;

#endif
Loading
Loading