diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..df4d15b35 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + # Check for updates to GitHub Actions every week + interval: "weekly" diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 1ab87a928..d2714f081 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -9,21 +9,29 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + - uses: actions/cache@v4 + with: + path: | + ~/.cache/pip + ~/.platformio/.cache + key: ${{ runner.os }}-pio - name: Set up Python - uses: actions/setup-python@v1 + uses: actions/setup-python@v5 + with: + python-version: "3.12" - - name: Install pio and its dependencies + - name: Install PlatformIO and its dependencies run: | python -m pip install --upgrade pip - pip install platformio + pip install --upgrade platformio - name: Run builds run: python ./ci/build.py - name: Upload binaries - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: binaries path: ./build/*.bin diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4aab4a714..553f1b86d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,6 @@ name: Releases -on: +on: push: tags: - '*' @@ -12,9 +12,9 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: ncipollo/release-action@v1 with: artifacts: "./build/*.bin" draft: true - token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/src/GlobalVars.h b/src/GlobalVars.h index 45adde97b..66bab0a8c 100644 --- a/src/GlobalVars.h +++ b/src/GlobalVars.h @@ -32,6 +32,7 @@ #include "network/manager.h" #include "sensors/SensorManager.h" #include "status/StatusManager.h" +#include "batterymonitor.h" extern Timer<> globalTimer; extern SlimeVR::LEDManager ledManager; @@ -40,5 +41,6 @@ extern SlimeVR::Configuration::Configuration configuration; extern SlimeVR::Sensors::SensorManager sensorManager; extern SlimeVR::Network::Manager networkManager; extern SlimeVR::Network::Connection networkConnection; +extern BatteryMonitor battery; #endif diff --git a/src/batterymonitor.h b/src/batterymonitor.h index e13644e5b..7ae8140f2 100644 --- a/src/batterymonitor.h +++ b/src/batterymonitor.h @@ -72,6 +72,9 @@ class BatteryMonitor void Setup(); void Loop(); + float getVoltage() const { return voltage; } + float getLevel() const { return level; } + private: unsigned long last_battery_sample = 0; #if BATTERY_MONITOR == BAT_MCP3021 || BATTERY_MONITOR == BAT_INTERNAL_MCP3021 diff --git a/src/serial/serialcommands.cpp b/src/serial/serialcommands.cpp index 72934b42f..e3d85ae0c 100644 --- a/src/serial/serialcommands.cpp +++ b/src/serial/serialcommands.cpp @@ -144,6 +144,11 @@ namespace SerialCommands { sensor->getHadData() ? "true" : "false" ); } + logger.info( + "Battery voltage: %.3f, level: %.1f%%", + battery.getVoltage(), + battery.getLevel() * 100 + ); } void cmdGet(CmdParser * parser) {