From b6f93d33d17f3d91affe491dceb2a1ed59374fea Mon Sep 17 00:00:00 2001 From: Benjamin Koch <bbbsnowball@gmail.com> Date: Fri, 5 May 2023 22:36:48 +0200 Subject: [PATCH] switch to arduino-pico --- firmware/test1/heizung-test1/platformio.ini | 8 ++- firmware/test1/heizung-test1/src/main.cpp | 70 +++++++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/firmware/test1/heizung-test1/platformio.ini b/firmware/test1/heizung-test1/platformio.ini index 824ceec..25fb01e 100644 --- a/firmware/test1/heizung-test1/platformio.ini +++ b/firmware/test1/heizung-test1/platformio.ini @@ -9,6 +9,12 @@ ; https://docs.platformio.org/page/projectconf.html [env:pico] -platform = raspberrypi +#platform = raspberrypi +#board = pico +#framework = arduino + +platform = https://github.com/maxgerhardt/platform-raspberrypi.git board = pico framework = arduino +board_build.core = earlephilhower +#board_build.filesystem_size = 2m diff --git a/firmware/test1/heizung-test1/src/main.cpp b/firmware/test1/heizung-test1/src/main.cpp index 1fdbf66..67bb68d 100644 --- a/firmware/test1/heizung-test1/src/main.cpp +++ b/firmware/test1/heizung-test1/src/main.cpp @@ -1,11 +1,63 @@ #include <Arduino.h> +#include <Wire.h> + +enum Pinout { + DRIVE1 = 0, + DRIVE2 = 1, + LED_W = 2, + LED_Y = 3, + LED_B = 4, + LED_G = 5, + LED_R = 6, + MATRIX_IN1 = 7, + SBU1 = 8, + SBU2 = 9, + VBUS_DET = 10, + BOOT2 = 11, + I2C_OLED_SDA = 12, + I2C_OLED_SCL = 13, + WS2811 = 14, + TX_EN = 15, + TX = 16, + RX = 17, + MATRIX_IN2 = 18, + REED3 = 19, + REED4 = 20, + REED2 = 21, + REED1 = 22, + MATRIX_IN3 = 23, + DIGOUT1 = 24, + DIGOUT2 = 25, + ANALOG_IN1 = 26, + CURRENT2 = 27, + CURRENT1 = 28, + MEASURE_VCC = 29, +}; void setup() { + rp2040.enableDoubleResetBootloader(); + + pinMode(DRIVE1, OUTPUT); digitalWrite(DRIVE1, LOW); + pinMode(DRIVE2, OUTPUT); digitalWrite(DRIVE2, LOW); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); + + pinMode(BOOT2, INPUT_PULLUP); + pinMode(WS2811, INPUT_PULLUP); + pinMode(REED1, INPUT_PULLUP); + pinMode(REED2, INPUT_PULLUP); + pinMode(REED3, INPUT_PULLUP); + pinMode(REED4, INPUT_PULLUP); + + Serial1.setTX(TX); + Serial1.setRX(RX); + Wire.setSDA(I2C_OLED_SDA); + Wire.setSCL(I2C_OLED_SCL); + + Serial.begin(9600); } void loop() { @@ -16,4 +68,22 @@ void loop() { digitalWrite(i, 1); delay(100); } + + Serial.write("x: "); + Serial.write('0' + digitalRead(VBUS_DET)); + Serial.write('0' + digitalRead(BOOT2)); + Serial.write('0' + digitalRead(WS2811)); + Serial.write('0' + digitalRead(REED1)); + Serial.write('0' + digitalRead(REED2)); + Serial.write('0' + digitalRead(REED3)); + Serial.write('0' + digitalRead(REED4)); + Serial.write(", f_cpu="); + Serial.print(rp2040.f_cpu()); + Serial.write(", id="); + Serial.print(rp2040.cpuid()); + Serial.write(", cycles="); + Serial.print(rp2040.getCycleCount64()); + Serial.write(", rand="); + Serial.print(rp2040.hwrand32()); + Serial.write("\r\n"); } \ No newline at end of file -- GitLab