From 6208117adddbbd3775002326214021928f8e366a Mon Sep 17 00:00:00 2001 From: AeroboticsGlobalTeam Date: Wed, 1 Jun 2022 16:26:37 +1000 Subject: [PATCH] added aebo joystick board --- .gitignore | 2 + docs/boards/aebo-joystick.md | 11 + docs/static/libs/aebo-joystick.jpg | Bin 0 -> 57444 bytes libs/aebo-joystick/README.md | 4 + libs/aebo-joystick/board.json | 130 +++ libs/aebo-joystick/board.svg | 1191 ++++++++++++++++++++++++++++ libs/aebo-joystick/boardhd.svg | 1191 ++++++++++++++++++++++++++++ libs/aebo-joystick/config.ts | 61 ++ libs/aebo-joystick/device.d.ts | 275 +++++++ libs/aebo-joystick/pxt.json | 47 ++ package-lock.json | 12 +- package.json | 4 +- pxtarget.json | 3 +- 13 files changed, 2922 insertions(+), 9 deletions(-) create mode 100644 docs/boards/aebo-joystick.md create mode 100644 docs/static/libs/aebo-joystick.jpg create mode 100644 libs/aebo-joystick/README.md create mode 100644 libs/aebo-joystick/board.json create mode 100644 libs/aebo-joystick/board.svg create mode 100644 libs/aebo-joystick/boardhd.svg create mode 100644 libs/aebo-joystick/config.ts create mode 100644 libs/aebo-joystick/device.d.ts create mode 100644 libs/aebo-joystick/pxt.json diff --git a/.gitignore b/.gitignore index cb1ad9c6..a90906d5 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,5 @@ lib/ _locales **/*.DS_Store +package-lock.json +package.json diff --git a/docs/boards/aebo-joystick.md b/docs/boards/aebo-joystick.md new file mode 100644 index 00000000..f57479f4 --- /dev/null +++ b/docs/boards/aebo-joystick.md @@ -0,0 +1,11 @@ +# Aebo Joystick + +```sim +forever(function() { + +}) +``` + +```package +aebo-joystick +``` diff --git a/docs/static/libs/aebo-joystick.jpg b/docs/static/libs/aebo-joystick.jpg new file mode 100644 index 0000000000000000000000000000000000000000..61f8d2c838a549dd757ce6610157a8231b7f55b1 GIT binary patch literal 57444 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 literal 0 HcmV?d00001 diff --git a/libs/aebo-joystick/README.md b/libs/aebo-joystick/README.md new file mode 100644 index 00000000..beb89b46 --- /dev/null +++ b/libs/aebo-joystick/README.md @@ -0,0 +1,4 @@ +# Aerobotics Global AEBO Joystick + + + diff --git a/libs/aebo-joystick/board.json b/libs/aebo-joystick/board.json new file mode 100644 index 00000000..05b67290 --- /dev/null +++ b/libs/aebo-joystick/board.json @@ -0,0 +1,130 @@ +{ + "driveDisplayName": "AEBOBOOT", + "visual": { + "image": "pkg://board.svg", + "useCrocClips": false, + "width": 500, + "height": 343, + "pinDist": 15, + "pinBlocks": [ + { + "x": 89, + "y": 183, + "labels": [ + "D5" + ] + }, + { + "x": 102, + "y": 195, + "labels": [ + "A1" + ] + }, + { + "x": 111, + "y": 207, + "labels": [ + "A0" + ] + }, + { + "x": 346, + "y": 231, + "labels": [ + "D4" + ] + }, + { + "x": 359, + "y": 220, + "labels": [ + "D9" + ] + }, + { + "x": 372, + "y": 209, + "labels": [ + "D8" + ] + } + ], + "leds": [ + { + "x": 329, + "y": 138, + "w": 14, + "h": 14, + "color": "#ffffff", + "label": "LED" + } + ], + "touchPads": [], + "buttons": [], + "reset": { + "x": 17.83250718937794, + "y": 45.50404575993516, + "w": 13.596367783800709, + "h": 13.596390332336691 + } + + }, + "gpioPinMap": { + "A5": "A5", + "A4": "A4", + "A3": "A3", + "A2": "A2", + "A1": "A1", + "JACK_TX": "TX", + "A0": "A0", + "AREF": "AREF", + "+3V3": "+3V3", + "!RESET": "!RESET", + "VBAT": "VBAT", + "EN": "EN", + "VBUS": "VBUS", + "D12": "D12", + "D11": "D11", + "D10": "D10", + "D9": "D9", + "D8": "D8", + "D7":"D7", + "D6": "D6", + "D5": "D5", + "SCL": "SCL", + "SDA": "SDA", + "LED": "D13", + "NEOPIXEL": "NEOPIXEL", + "RESET": "RESET", + "DISPLAY_CS": "A2", + "DISPLAY_SCK": "SCK", + "DISPLAY_MOSI": "MOSI", + "DISPLAY_DC": "A5", + "DISPLAY_RST": "A4", + "DISPLAY_MISO": "MISO", + "ACCELEROMETER_INT": "D5" + }, + "groundPins": [ + "GND" + ], + "threeVoltPins": [ + "+3V3" + ], + "spiPins": { + "MOSI": "MOSI", + "MISO": "MISO", + "SCK": "SCK" + }, + "i2cPins": { + "SDA": "SDA", + "SCL": "SCL" + }, + "onboardComponents": ["pixel"], + "marginWhenBreadboarding": [ + 0, + 0, + 80, + 0 + ] + } \ No newline at end of file diff --git a/libs/aebo-joystick/board.svg b/libs/aebo-joystick/board.svg new file mode 100644 index 00000000..9379c7d8 --- /dev/null +++ b/libs/aebo-joystick/board.svg @@ -0,0 +1,1191 @@ + + + + + + + + + + + + + + + + + + + D5 + A1 + LED + D8 + D8 + D9 + D4 + D9 + A0 + + diff --git a/libs/aebo-joystick/boardhd.svg b/libs/aebo-joystick/boardhd.svg new file mode 100644 index 00000000..9379c7d8 --- /dev/null +++ b/libs/aebo-joystick/boardhd.svg @@ -0,0 +1,1191 @@ + + + + + + + + + + + + + + + + + + + D5 + A1 + LED + D8 + D8 + D9 + D4 + D9 + A0 + + diff --git a/libs/aebo-joystick/config.ts b/libs/aebo-joystick/config.ts new file mode 100644 index 00000000..bed408a7 --- /dev/null +++ b/libs/aebo-joystick/config.ts @@ -0,0 +1,61 @@ +namespace config { + export const NUM_NEOPIXELS = 1; + + export const PIN_A0 = DAL.PA02; + export const PIN_A1 = DAL.PB08; + export const PIN_A2 = DAL.PB09; + export const PIN_A3 = DAL.PA04; + export const PIN_A4 = DAL.PA05; + export const PIN_A5 = DAL.PB02; + + export const PIN_D0 = DAL.PA11; + export const PIN_D1 = DAL.PA10; + export const PIN_D2 = DAL.PA14; + export const PIN_D3 = DAL.PA09; + export const PIN_D4 = DAL.PA08; + export const PIN_D5 = DAL.PA15; + export const PIN_D6 = DAL.PA20; + export const PIN_D7 = DAL.PA21; + export const PIN_D8 = DAL.PA06; + export const PIN_D9 = DAL.PA07; + export const PIN_D10 = DAL.PA18; + export const PIN_D11 = DAL.PA16; + export const PIN_D12 = DAL.PA19; + export const PIN_D13 = DAL.PA17; + export const PIN_LED = PIN_D13; + export const PIN_RX = DAL.PA11; + export const PIN_TX = DAL.PA10; + export const PIN_MISO = DAL.PA12; + export const PIN_MOSI = DAL.PB10; + export const PIN_SCK = DAL.PB11; + export const PIN_SCL = DAL.PA23; + export const PIN_SDA = DAL.PA22; + export const PIN_RXLED = DAL.PB03; + export const PIN_TXLED = DAL.PA27; + export const PIN_NEOPIXEL = DAL.PA06; + + export const PIN_FLASH_MISO = DAL.PA14; + export const PIN_FLASH_MOSI = DAL.PA08; + export const PIN_FLASH_SCK = DAL.PA09; + export const PIN_FLASH_CS = DAL.PA13; + + export const PIN_ACCELEROMETER_INT = PIN_D5; + + export const PIN_JACK_TX = PIN_TX; + export const PIN_JACK_COMMLED = PIN_TXLED; + + export const PIN_DISPLAY_CS = PIN_A2; + export const PIN_DISPLAY_SCK = PIN_SCK; + export const PIN_DISPLAY_MOSI = PIN_MOSI; + export const PIN_DISPLAY_DC = PIN_A4; + export const PIN_DISPLAY_RST = PIN_A5; + export const PIN_DISPLAY_MISO = PIN_MISO; + // export const PIN_DISPLAY_BL = PIN_D4; plugged to power + export const DISPLAY_CFG0 = 0x00000090; + export const DISPLAY_CFG1 = 0x000e14ff; + export const DISPLAY_CFG2 = 24; + export const DISPLAY_WIDTH = 160; + export const DISPLAY_HEIGHT = 128; +} + + diff --git a/libs/aebo-joystick/device.d.ts b/libs/aebo-joystick/device.d.ts new file mode 100644 index 00000000..8b5c6eb7 --- /dev/null +++ b/libs/aebo-joystick/device.d.ts @@ -0,0 +1,275 @@ +declare namespace pins { + //% fixedInstance shim=pxt::getPin(PIN_LED) + const LED: PwmOnlyPin; + //% fixedInstance shim=pxt::getPin(PIN_A0) + const A0: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_A1) + const A1: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_A2) + const A2: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_A3) + const A3: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_A4) + const A4: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_A5) + const A5: PwmPin; + + //% fixedInstance shim=pxt::getPin(PIN_D0) + const D0: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_D1) + const D1: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_D2) + const D2: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_D3) + const D3: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_D4) + const D4: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_D5) + const D5: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_D6) + const D6: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_D7) + const D7: DigitalInOutPin; + + //% fixedInstance shim=pxt::getPin(PIN_D8) + const D8: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_D9) + const D9: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_D10) + const D10: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_D11) + const D11: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_D12) + const D12: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_D13) + const D13: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_RX) + const RX: PwmPin; + //% fixedInstance shim=pxt::getPin(PIN_TX) + const TX: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_MISO) + const MISO: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_MOSI) + const MOSI: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_SCK) + const SCK: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_SCL) + const SCL: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_SDA) + const SDA: DigitalInOutPin; + + // TODO only checked the following two for Metro M0 + //% fixedInstance shim=pxt::getPin(PIN_RXLED) + const RXLED: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_TX) + const TXLED: DigitalInOutPin; + //% fixedInstance shim=pxt::getPin(PIN_NEOPIXEL) + const NEOPIXEL: DigitalInOutPin; +} + + + +declare namespace input { + /** + * Capacitive pin A0 + */ + //% block="touch A0" fixedInstance shim=pxt::getTouchButton(PIN_A0) + const touchA0: TouchButton; + + /** + * Capacitive pin A1 + */ + //% block="touch A1" fixedInstance shim=pxt::getTouchButton(PIN_A1) + const touchA1: TouchButton; + + /** + * Capacitive pin A2 + */ + //% block="touch A2" fixedInstance shim=pxt::getTouchButton(PIN_A2) + const touchA2: TouchButton; + + /** + * Capacitive pin A3 + */ + //% block="touch A3" fixedInstance shim=pxt::getTouchButton(PIN_A3) + const touchA3: TouchButton; + + /** + * Capacitive pin A4 + */ + //% block="touch A4" fixedInstance shim=pxt::getTouchButton(PIN_A4) + const touchA4: TouchButton; + + /** + * Capacitive pin A5 + */ + //% block="touch A5" fixedInstance shim=pxt::getTouchButton(PIN_A5) + const touchA5: TouchButton; + + /** + * Capacitive pin D8 + */ + //% block="touch D8" fixedInstance shim=pxt::getTouchButton(PIN_D8) + const touchD8: TouchButton; + + /** + * Capacitive pin D9 + */ + //% block="touch D9" fixedInstance shim=pxt::getTouchButton(PIN_D9) + const touchD9: TouchButton; +} + +declare namespace input { + + /** + * Button connecting A0 to GND. + */ + //% block="button A0" fixedInstance + //% shim=pxt::getButtonByPin(PIN_A0,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonA0: Button; + + /** + * Button connecting A1 to GND. + */ + //% block="button A1" fixedInstance + //% shim=pxt::getButtonByPin(PIN_A1,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonA1: Button; + + /** + * Button connecting A2 to GND. + */ + //% block="button A2" fixedInstance + //% shim=pxt::getButtonByPin(PIN_A2,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonA2: Button; + + /** + * Button connecting A3 to GND. + */ + //% block="button A3" fixedInstance + //% shim=pxt::getButtonByPin(PIN_A3,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonA3: Button; + + /** + * Button connecting A4 to GND. + */ + //% block="button A4" fixedInstance + //% shim=pxt::getButtonByPin(PIN_A4,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonA4: Button; + + /** + * Button connecting A5 to GND. + */ + //% block="button A5" fixedInstance + //% shim=pxt::getButtonByPin(PIN_A5,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonA5: Button; + + /** + * Button connecting D0 to GND. + */ + //% block="button D0" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D0,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD0: Button; + + /** + * Button connecting D1 to GND. + */ + //% block="button D1" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D1,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD1: Button; + + /** + * Button connecting D2 to GND. + */ + //% block="button D2" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D2,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD2: Button; + + /** + * Button connecting D3 to GND. + */ + //% block="button D3" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D3,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD3: Button; + + /** + * Button connecting D4 to GND. + */ + //% block="button D4" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D4,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD4: Button; + + /** + * Button connecting D5 to GND. + */ + //% block="button D5" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D5,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD5: Button; + + /** + * Button connecting D6 to GND. + */ + //% block="button D6" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D6,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD6: Button; + + /** + * Button connecting D7 to GND. + */ + //% block="button D7" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D7,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD7: Button; + + /** + * Button connecting D8 to GND. + */ + //% block="button D8" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D8,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD8: Button; + + /** + * Button connecting D9 to GND. + */ + //% block="button D9" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D9,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD9: Button; + + /** + * Button connecting D10 to GND. + */ + //% block="button D10" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D10,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD10: Button; + + /** + * Button connecting D11 to GND. + */ + //% block="button D11" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D11,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD11: Button; + + /** + * Button connecting D12 to GND. + */ + //% block="button D12" fixedInstance + //% shim=pxt::getButtonByPin(PIN_D12,BUTTON_ACTIVE_LOW_PULL_UP) + //% parts="buttons" + const buttonD12: Button; +} \ No newline at end of file diff --git a/libs/aebo-joystick/pxt.json b/libs/aebo-joystick/pxt.json new file mode 100644 index 00000000..92bc7399 --- /dev/null +++ b/libs/aebo-joystick/pxt.json @@ -0,0 +1,47 @@ +{ + "name": "aebo-joystick", + "description": "Support for AEBO Joystick", + "files": [ + "README.md", + "device.d.ts", + "config.ts", + "board.json", + "board.svg" + ], + "core": true, + "dependencies": { + "core---samd": "file:../core---samd", + "buttons": "file:../buttons", + "light": "file:../light", + "accelerometer": "file:../accelerometer", + "mixer---samd": "file:../mixer---samd", + "touch": "file:../touch", + "pixel": "file:../pixel", + "serial": "file:../serial", + "storage": "file:../storage" + }, + "public": true, + "compileServiceVariant": "samd21", + "firmwareUrl": "https://www.aeroboticsglobal.com", + "weight": 100, + "features": [ + "uf2", + "pixel", + "pinled", + "pind0", + "pind1", + "pina0", + "pina1", + "buttond0", + "buttond1", + "toucha0", + "toucha1", + "storage", + "light", + "screen", + "jacdac", + "music", + "accelerometer", + "lcd" + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 199eee2b..12043667 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pxt-maker", - "version": "0.15.63", + "version": "0.15.62", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "pxt-maker", - "version": "0.15.63", + "version": "0.15.62", "license": "MIT", "dependencies": { "pxt-common-packages": "9.5.1", @@ -3315,7 +3315,7 @@ "node_modules/lodash.memoize": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==" + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" }, "node_modules/lodash.uniq": { "version": "4.5.0", @@ -3479,7 +3479,7 @@ "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "node_modules/minimatch": { "version": "3.0.4", @@ -9754,7 +9754,7 @@ "lodash.memoize": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==" + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" }, "lodash.uniq": { "version": "4.5.0", @@ -9875,7 +9875,7 @@ "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { "version": "3.0.4", diff --git a/package.json b/package.json index 98a8acf0..2b043267 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pxt-maker", - "version": "0.15.63", + "version": "0.15.62", "description": "Microsoft MakeCode Maker Boards", "public": true, "keywords": [ @@ -43,7 +43,7 @@ "typescript": "^4.2.3" }, "dependencies": { - "pxt-common-packages": "9.5.10", + "pxt-common-packages": "9.5.1", "pxt-core": "7.5.27", "webusb": "^1.1.1" }, diff --git a/pxtarget.json b/pxtarget.json index 5f67a3a9..1f360587 100644 --- a/pxtarget.json +++ b/pxtarget.json @@ -104,7 +104,8 @@ "libs/jacdac-nrfbrain", "libs/jacdac-brain-f4", "libs/jacdac-brain-rp2040", - "libs/jacdac-iot-s2" + "libs/jacdac-iot-s2","libs/aebo-joystick" + ], "serial": { "useHF2": true,