From 43b17730a30447ee3f991dd4fe7d84bf07165e76 Mon Sep 17 00:00:00 2001 From: Ronald Moesbergen Date: Sat, 19 Oct 2024 15:21:33 +0200 Subject: [PATCH] fix: use pin 9,10,11 in rgb block for all nano robots (#130) --- package.json | 2 +- src/generators/arduino/leaphy_original.ts | 28 +++++++++++++++++++---- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 2e91bf3..7058b76 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "dist", "media" ], - "version": "3.2.2", + "version": "3.2.3", "description": "Leaphy custom Blockly blocks and arduino code generator", "name": "@leaphy-robotics/leaphy-blocks" } diff --git a/src/generators/arduino/leaphy_original.ts b/src/generators/arduino/leaphy_original.ts index eff48a1..b4fdea5 100644 --- a/src/generators/arduino/leaphy_original.ts +++ b/src/generators/arduino/leaphy_original.ts @@ -9,11 +9,29 @@ function getCodeGenerators(arduino: Arduino) { "0"; const blue = arduino.valueToCode(block, "LED_BLUE", arduino.ORDER_ATOMIC) || "0"; - arduino.addInclude( - "include_leaphy_original", - '#include "Leaphyoriginal1.h"', - ); - return `setLed(${red}, ${green}, ${blue});\n`; + + let pin_red, pin_blue, pin_green; + if (arduino.robotType.includes("nano")) { + pin_red = 11; + pin_green = 10; + pin_blue = 9; + arduino.addSetup( + "setup_nano_rgb", + "pinMode(8, OUTPUT);\n digitalWrite(8, LOW);", + false, + ); + } else { + pin_red = 3; + pin_green = 5; + pin_blue = 6; + } + // Ground is connected to pin 8 on the nano, so it needs to be pulled LOW + const code = + `analogWrite(${pin_red}, ${red});\n` + + `analogWrite(${pin_green}, ${green});\n` + + `analogWrite(${pin_blue}, ${blue});\n`; + + return code; }; arduino.forBlock["leaphy_original_set_motor"] = function (block) {