diff --git a/.github/workflows/boards.yml b/.github/workflows/boards.yml index 9fda906439d..e437936e6f1 100644 --- a/.github/workflows/boards.yml +++ b/.github/workflows/boards.yml @@ -1,4 +1,4 @@ -name: New Board Test +name: Boards Test # The workflow will run on schedule and labeled pull requests on: @@ -30,7 +30,7 @@ jobs: test-boards: needs: find-boards runs-on: ubuntu-latest - if: ${{ needs.changes.outputs.services != '' }} + if: ${{ needs.find-boards.outputs.fqbns != '' }} env: REPOSITORY: | @@ -58,4 +58,4 @@ jobs: - --warnings="all" exit-on-fail: true sketch-paths: - "- ./libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino" + "- ./libraries/ESP32/examples/CI/CIBoardsTest/CIBoardsTest.ino" diff --git a/libraries/ESP32/examples/CI/CIBoardsTest/CIBoardsTest.ino b/libraries/ESP32/examples/CI/CIBoardsTest/CIBoardsTest.ino new file mode 100644 index 00000000000..6b2faa86120 --- /dev/null +++ b/libraries/ESP32/examples/CI/CIBoardsTest/CIBoardsTest.ino @@ -0,0 +1,45 @@ +#include <Wire.h> +#include <SPI.h> + +void setup() { + // UART initialization + Serial.begin(9600); + + // I2C initialization + Wire.begin(); + + // SPI initialization + SPI.begin(); +} + +void loop() { + // UART echo + if (Serial.available()) { + Serial.write(Serial.read()); + } + + // I2C read/write + Wire.beginTransmission(0x68); // I2C address of device + Wire.write(0x00); // register to read/write + Wire.write(0xFF); // data to write (if writing) + Wire.endTransmission(); + + Wire.requestFrom(0x68, 1); // number of bytes to read + + while (Wire.available()) { + Serial.println(Wire.read()); + } + + // SPI read/write + digitalWrite(SS, LOW); // select slave device + SPI.transfer(0x01); // data to write + digitalWrite(SS, HIGH); // deselect slave device + + digitalWrite(SS, LOW); // select slave device + byte data = SPI.transfer(0x00);// data to read + digitalWrite(SS, HIGH); // deselect slave device + + Serial.println(data); + + delay(1000); // wait for 1 second before repeating loop +}