Merge pull request #20 from microsoft/configupdate

add a few more keys to patcher
This commit is contained in:
Peli de Halleux 2019-09-12 11:13:25 -07:00 committed by GitHub
commit a307533182
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,275 +1,339 @@
"use strict";
const configKeys = {
PIN_ACCELEROMETER_INT: 1,
PIN_ACCELEROMETER_SCL: 2,
PIN_ACCELEROMETER_SDA: 3,
PIN_BTN_A: 4,
PIN_BTN_B: 5,
PIN_BTN_SLIDE: 6,
PIN_DOTSTAR_CLOCK: 7,
PIN_DOTSTAR_DATA: 8,
PIN_FLASH_CS: 9,
PIN_FLASH_MISO: 10,
PIN_FLASH_MOSI: 11,
PIN_FLASH_SCK: 12,
PIN_LED: 13,
PIN_LIGHT: 14,
PIN_MICROPHONE: 15,
PIN_MIC_CLOCK: 16,
PIN_MIC_DATA: 17,
PIN_MISO: 18,
PIN_MOSI: 19,
PIN_NEOPIXEL: 20,
PIN_RX: 21,
PIN_RXLED: 22,
PIN_SCK: 23,
PIN_SCL: 24,
PIN_SDA: 25,
PIN_SPEAKER_AMP: 26,
PIN_TEMPERATURE: 27,
PIN_TX: 28,
PIN_TXLED: 29,
PIN_IR_OUT: 30,
PIN_IR_IN: 31,
PIN_DISPLAY_SCK: 32,
PIN_DISPLAY_MISO: 33,
PIN_DISPLAY_MOSI: 34,
PIN_DISPLAY_CS: 35,
PIN_DISPLAY_DC: 36,
DISPLAY_WIDTH: 37,
DISPLAY_HEIGHT: 38,
DISPLAY_CFG0: 39,
DISPLAY_CFG1: 40,
DISPLAY_CFG2: 41,
DISPLAY_CFG3: 42,
PIN_DISPLAY_RST: 43,
PIN_DISPLAY_BL: 44,
PIN_SERVO_1: 45,
PIN_SERVO_2: 46,
PIN_BTN_LEFT: 47,
PIN_BTN_RIGHT: 48,
PIN_BTN_UP: 49,
PIN_BTN_DOWN: 50,
PIN_BTN_MENU: 51,
PIN_LED_R: 52,
PIN_LED_G: 53,
PIN_LED_B: 54,
PIN_LED1: 55,
PIN_LED2: 56,
PIN_LED3: 57,
PIN_LED4: 58,
SPEAKER_VOLUME: 59,
PIN_JACK_TX: 60,
PIN_JACK_SENSE: 61,
PIN_JACK_HPEN: 62,
PIN_JACK_BZEN: 63,
PIN_JACK_PWREN: 64,
PIN_JACK_SND: 65,
PIN_JACK_BUSLED: 66,
PIN_JACK_COMMLED: 67,
PIN_BTN_SOFT_RESET: 69,
ACCELEROMETER_TYPE: 70,
PIN_BTNMX_LATCH: 71,
PIN_BTNMX_CLOCK: 72,
PIN_BTNMX_DATA: 73,
PIN_BTN_MENU2: 74,
PIN_BATTSENSE: 75,
PIN_VIBRATION: 76,
PIN_PWREN: 77,
DISPLAY_TYPE: 78,
// copy entire configkeys.h from https://github.com/microsoft/pxt-common-packages/blob/master/libs/base/configkeys.h
const CONFIG_KEYS_H =
`
#ifndef __PXT_CONFIGKEYS_H
#define __PXT_CONFIGKEYS_H
PIN_A0: 100,
PIN_A1: 101,
PIN_A2: 102,
PIN_A3: 103,
PIN_A4: 104,
PIN_A5: 105,
PIN_A6: 106,
PIN_A7: 107,
PIN_A8: 108,
PIN_A9: 109,
PIN_A10: 110,
PIN_A11: 111,
PIN_A12: 112,
PIN_A13: 113,
PIN_A14: 114,
PIN_A15: 115,
PIN_A16: 116,
PIN_A17: 117,
PIN_A18: 118,
PIN_A19: 119,
PIN_A20: 120,
PIN_A21: 121,
PIN_A22: 122,
PIN_A23: 123,
PIN_A24: 124,
PIN_A25: 125,
PIN_A26: 126,
PIN_A27: 127,
PIN_A28: 128,
PIN_A29: 129,
PIN_A30: 130,
PIN_A31: 131,
PIN_D0: 150,
PIN_D1: 151,
PIN_D2: 152,
PIN_D3: 153,
PIN_D4: 154,
PIN_D5: 155,
PIN_D6: 156,
PIN_D7: 157,
PIN_D8: 158,
PIN_D9: 159,
PIN_D10: 160,
PIN_D11: 161,
PIN_D12: 162,
PIN_D13: 163,
PIN_D14: 164,
PIN_D15: 165,
PIN_D16: 166,
PIN_D17: 167,
PIN_D18: 168,
PIN_D19: 169,
PIN_D20: 170,
PIN_D21: 171,
PIN_D22: 172,
PIN_D23: 173,
PIN_D24: 174,
PIN_D25: 175,
PIN_D26: 176,
PIN_D27: 177,
PIN_D28: 178,
PIN_D29: 179,
PIN_D30: 180,
PIN_D31: 181,
NUM_NEOPIXELS: 200,
NUM_DOTSTARS: 201,
DEFAULT_BUTTON_MODE: 202,
SWD_ENABLED: 203,
FLASH_BYTES: 204,
RAM_BYTES: 205,
SYSTEM_HEAP_BYTES: 206,
LOW_MEM_SIMULATION_KB: 207,
BOOTLOADER_BOARD_ID: 208,
UF2_FAMILY: 209,
PINS_PORT_SIZE: 210,
BOOTLOADER_PROTECTION: 211,
POWER_DEEPSLEEP_TIMEOUT: 212,
ANALOG_BUTTON_THRESHOLD: 213,
PIN_B0: 300,
PIN_B1: 301,
PIN_B2: 302,
PIN_B3: 303,
PIN_B4: 304,
PIN_B5: 305,
PIN_B6: 306,
PIN_B7: 307,
PIN_B8: 308,
PIN_B9: 309,
PIN_B10: 310,
PIN_B11: 311,
PIN_B12: 312,
PIN_B13: 313,
PIN_B14: 314,
PIN_B15: 315,
PIN_B16: 316,
PIN_B17: 317,
PIN_B18: 318,
PIN_B19: 319,
PIN_B20: 320,
PIN_B21: 321,
PIN_B22: 322,
PIN_B23: 323,
PIN_B24: 324,
PIN_B25: 325,
PIN_B26: 326,
PIN_B27: 327,
PIN_B28: 328,
PIN_B29: 329,
PIN_B30: 330,
PIN_B31: 331,
PIN_C0: 350,
PIN_C1: 351,
PIN_C2: 352,
PIN_C3: 353,
PIN_C4: 354,
PIN_C5: 355,
PIN_C6: 356,
PIN_C7: 357,
PIN_C8: 358,
PIN_C9: 359,
PIN_C10: 360,
PIN_C11: 361,
PIN_C12: 362,
PIN_C13: 363,
PIN_C14: 364,
PIN_C15: 365,
PIN_C16: 366,
PIN_C17: 367,
PIN_C18: 368,
PIN_C19: 369,
PIN_C20: 370,
PIN_C21: 371,
PIN_C22: 372,
PIN_C23: 373,
PIN_C24: 374,
PIN_C25: 375,
PIN_C26: 376,
PIN_C27: 377,
PIN_C28: 378,
PIN_C29: 379,
PIN_C30: 380,
PIN_C31: 381,
PIN_P0: 400,
PIN_P1: 401,
PIN_P2: 402,
PIN_P3: 403,
PIN_P4: 404,
PIN_P5: 405,
PIN_P6: 406,
PIN_P7: 407,
PIN_P8: 408,
PIN_P9: 409,
PIN_P10: 410,
PIN_P11: 411,
PIN_P12: 412,
PIN_P13: 413,
PIN_P14: 414,
PIN_P15: 415,
PIN_P16: 416,
PIN_P17: 417,
PIN_P18: 418,
PIN_P19: 419,
PIN_P20: 420,
PIN_P21: 421,
PIN_P22: 422,
PIN_P23: 423,
PIN_P24: 424,
PIN_P25: 425,
PIN_P26: 426,
PIN_P27: 427,
PIN_P28: 428,
PIN_P29: 429,
PIN_P30: 430,
PIN_P31: 431,
PIN_LORA_MISO: 1001,
PIN_LORA_MOSI: 1002,
PIN_LORA_SCK: 1003,
PIN_LORA_CS: 1004,
PIN_LORA_BOOT: 1005,
PIN_LORA_RESET: 1006,
PIN_IRRXLED: 1007,
PIN_IRTXLED: 1008,
PIN_LCD_RESET: 1009,
PIN_LCD_ENABLE: 1010,
PIN_LCD_DATALINE4: 1011,
PIN_LCD_DATALINE5: 1012,
PIN_LCD_DATALINE6: 1013,
PIN_LCD_DATALINE7: 1014,
NUM_LCD_COLUMNS: 1015,
NUM_LCD_ROWS: 1016,
}
// used by pins.cpp to mask off the pin name from any config
// lower 16 pins of value are the pin name
#define CFG_PIN_NAME_MSK 0x0000ffff
// upper 16 bits of value is any configuration of the pin.
#define CFG_PIN_CONFIG_MSK 0xffff0000
// begin optional pin configurations
#define CFG_PIN_CONFIG_ACTIVE_LO 0x10000
#define CFG_MAGIC0 0x1e9e10f1
#define CFG_MAGIC1 0x20227a79
// these define keys for getConfig() function
#define CFG_PIN_ACCELEROMETER_INT 1
#define CFG_PIN_ACCELEROMETER_SCL 2
#define CFG_PIN_ACCELEROMETER_SDA 3
#define CFG_PIN_BTN_A 4
#define CFG_PIN_BTN_B 5
#define CFG_PIN_BTN_SLIDE 6
#define CFG_PIN_DOTSTAR_CLOCK 7
#define CFG_PIN_DOTSTAR_DATA 8
#define CFG_PIN_FLASH_CS 9
#define CFG_PIN_FLASH_MISO 10
#define CFG_PIN_FLASH_MOSI 11
#define CFG_PIN_FLASH_SCK 12
#define CFG_PIN_LED 13
#define CFG_PIN_LIGHT 14
#define CFG_PIN_MICROPHONE 15
#define CFG_PIN_MIC_CLOCK 16
#define CFG_PIN_MIC_DATA 17
#define CFG_PIN_MISO 18
#define CFG_PIN_MOSI 19
#define CFG_PIN_NEOPIXEL 20
#define CFG_PIN_RX 21
#define CFG_PIN_RXLED 22
#define CFG_PIN_SCK 23
#define CFG_PIN_SCL 24
#define CFG_PIN_SDA 25
#define CFG_PIN_SPEAKER_AMP 26
#define CFG_PIN_TEMPERATURE 27
#define CFG_PIN_TX 28
#define CFG_PIN_TXLED 29
#define CFG_PIN_IR_OUT 30
#define CFG_PIN_IR_IN 31
#define CFG_PIN_DISPLAY_SCK 32
#define CFG_PIN_DISPLAY_MISO 33
#define CFG_PIN_DISPLAY_MOSI 34
#define CFG_PIN_DISPLAY_CS 35
#define CFG_PIN_DISPLAY_DC 36
#define CFG_DISPLAY_WIDTH 37
#define CFG_DISPLAY_HEIGHT 38
#define CFG_DISPLAY_CFG0 39
#define CFG_DISPLAY_CFG1 40
#define CFG_DISPLAY_CFG2 41
#define CFG_DISPLAY_CFG3 42
#define CFG_PIN_DISPLAY_RST 43
#define CFG_PIN_DISPLAY_BL 44
#define CFG_PIN_SERVO_1 45
#define CFG_PIN_SERVO_2 46
#define CFG_PIN_BTN_LEFT 47
#define CFG_PIN_BTN_RIGHT 48
#define CFG_PIN_BTN_UP 49
#define CFG_PIN_BTN_DOWN 50
#define CFG_PIN_BTN_MENU 51
#define CFG_PIN_LED_R 52
#define CFG_PIN_LED_G 53
#define CFG_PIN_LED_B 54
#define CFG_PIN_LED1 55
#define CFG_PIN_LED2 56
#define CFG_PIN_LED3 57
#define CFG_PIN_LED4 58
#define CFG_SPEAKER_VOLUME 59
#define CFG_PIN_JACK_TX 60
#define CFG_PIN_JACK_SENSE 61
#define CFG_PIN_JACK_HPEN 62
#define CFG_PIN_JACK_BZEN 63
#define CFG_PIN_JACK_PWREN 64
#define CFG_PIN_JACK_SND 65
#define CFG_PIN_JACK_BUSLED 66
#define CFG_PIN_JACK_COMMLED 67
#define CFG_PIN_BTN_SOFT_RESET 69
#define CFG_ACCELEROMETER_TYPE 70
#define CFG_PIN_BTNMX_LATCH 71
#define CFG_PIN_BTNMX_CLOCK 72
#define CFG_PIN_BTNMX_DATA 73
#define CFG_PIN_BTN_MENU2 74
#define CFG_PIN_BATTSENSE 75
#define CFG_PIN_VIBRATION 76
#define CFG_PIN_PWREN 77
#define CFG_DISPLAY_TYPE 78
#define CFG_PIN_ROTARY_ENCODER_A 79
#define CFG_PIN_ROTARY_ENCODER_B 80
#define CFG_ACCELEROMETER_SPACE 81
#define CFG_PIN_WIFI_MOSI 82
#define CFG_PIN_WIFI_MISO 83
#define CFG_PIN_WIFI_SCK 84
#define CFG_PIN_WIFI_TX 85
#define CFG_PIN_WIFI_RX 86
#define CFG_PIN_WIFI_CS 87
#define CFG_PIN_WIFI_BUSY 88
#define CFG_PIN_WIFI_RESET 89
#define CFG_PIN_WIFI_GPIO0 90
// default I2C address
#define ACCELEROMETER_TYPE_LIS3DH 0x32
#define ACCELEROMETER_TYPE_LIS3DH_ALT 0x30
#define ACCELEROMETER_TYPE_MMA8453 0x38
#define ACCELEROMETER_TYPE_FXOS8700 0x3C
#define ACCELEROMETER_TYPE_MMA8653 0x3A
#define ACCELEROMETER_TYPE_MSA300 0x4C
#define ACCELEROMETER_TYPE_MPU6050 0x68
#define DISPLAY_TYPE_ST7735 7735
#define DISPLAY_TYPE_ILI9341 9341
#define CFG_PIN_A0 100
#define CFG_PIN_A1 101
#define CFG_PIN_A2 102
#define CFG_PIN_A3 103
#define CFG_PIN_A4 104
#define CFG_PIN_A5 105
#define CFG_PIN_A6 106
#define CFG_PIN_A7 107
#define CFG_PIN_A8 108
#define CFG_PIN_A9 109
#define CFG_PIN_A10 110
#define CFG_PIN_A11 111
#define CFG_PIN_A12 112
#define CFG_PIN_A13 113
#define CFG_PIN_A14 114
#define CFG_PIN_A15 115
#define CFG_PIN_A16 116
#define CFG_PIN_A17 117
#define CFG_PIN_A18 118
#define CFG_PIN_A19 119
#define CFG_PIN_A20 120
#define CFG_PIN_A21 121
#define CFG_PIN_A22 122
#define CFG_PIN_A23 123
#define CFG_PIN_A24 124
#define CFG_PIN_A25 125
#define CFG_PIN_A26 126
#define CFG_PIN_A27 127
#define CFG_PIN_A28 128
#define CFG_PIN_A29 129
#define CFG_PIN_A30 130
#define CFG_PIN_A31 131
#define CFG_PIN_D0 150
#define CFG_PIN_D1 151
#define CFG_PIN_D2 152
#define CFG_PIN_D3 153
#define CFG_PIN_D4 154
#define CFG_PIN_D5 155
#define CFG_PIN_D6 156
#define CFG_PIN_D7 157
#define CFG_PIN_D8 158
#define CFG_PIN_D9 159
#define CFG_PIN_D10 160
#define CFG_PIN_D11 161
#define CFG_PIN_D12 162
#define CFG_PIN_D13 163
#define CFG_PIN_D14 164
#define CFG_PIN_D15 165
#define CFG_PIN_D16 166
#define CFG_PIN_D17 167
#define CFG_PIN_D18 168
#define CFG_PIN_D19 169
#define CFG_PIN_D20 170
#define CFG_PIN_D21 171
#define CFG_PIN_D22 172
#define CFG_PIN_D23 173
#define CFG_PIN_D24 174
#define CFG_PIN_D25 175
#define CFG_PIN_D26 176
#define CFG_PIN_D27 177
#define CFG_PIN_D28 178
#define CFG_PIN_D29 179
#define CFG_PIN_D30 180
#define CFG_PIN_D31 181
#define CFG_NUM_NEOPIXELS 200
#define CFG_NUM_DOTSTARS 201
#define CFG_DEFAULT_BUTTON_MODE 202
#define CFG_SWD_ENABLED 203
#define CFG_FLASH_BYTES 204
#define CFG_RAM_BYTES 205
#define CFG_SYSTEM_HEAP_BYTES 206
#define CFG_LOW_MEM_SIMULATION_KB 207
#define CFG_BOOTLOADER_BOARD_ID 208
#define CFG_UF2_FAMILY 209
#define CFG_PINS_PORT_SIZE 210
#define CFG_BOOTLOADER_PROTECTION 211
#define CFG_POWER_DEEPSLEEP_TIMEOUT 212
#define CFG_ANALOG_BUTTON_THRESHOLD 213
#define CFG_CPU_MHZ 214
#define CFG_CONTROLLER_LIGHT_MAX_BRIGHTNESS 215
#define CFG_PIN_B0 300
#define CFG_PIN_B1 301
#define CFG_PIN_B2 302
#define CFG_PIN_B3 303
#define CFG_PIN_B4 304
#define CFG_PIN_B5 305
#define CFG_PIN_B6 306
#define CFG_PIN_B7 307
#define CFG_PIN_B8 308
#define CFG_PIN_B9 309
#define CFG_PIN_B10 310
#define CFG_PIN_B11 311
#define CFG_PIN_B12 312
#define CFG_PIN_B13 313
#define CFG_PIN_B14 314
#define CFG_PIN_B15 315
#define CFG_PIN_B16 316
#define CFG_PIN_B17 317
#define CFG_PIN_B18 318
#define CFG_PIN_B19 319
#define CFG_PIN_B20 320
#define CFG_PIN_B21 321
#define CFG_PIN_B22 322
#define CFG_PIN_B23 323
#define CFG_PIN_B24 324
#define CFG_PIN_B25 325
#define CFG_PIN_B26 326
#define CFG_PIN_B27 327
#define CFG_PIN_B28 328
#define CFG_PIN_B29 329
#define CFG_PIN_B30 330
#define CFG_PIN_B31 331
#define CFG_PIN_C0 350
#define CFG_PIN_C1 351
#define CFG_PIN_C2 352
#define CFG_PIN_C3 353
#define CFG_PIN_C4 354
#define CFG_PIN_C5 355
#define CFG_PIN_C6 356
#define CFG_PIN_C7 357
#define CFG_PIN_C8 358
#define CFG_PIN_C9 359
#define CFG_PIN_C10 360
#define CFG_PIN_C11 361
#define CFG_PIN_C12 362
#define CFG_PIN_C13 363
#define CFG_PIN_C14 364
#define CFG_PIN_C15 365
#define CFG_PIN_C16 366
#define CFG_PIN_C17 367
#define CFG_PIN_C18 368
#define CFG_PIN_C19 369
#define CFG_PIN_C20 370
#define CFG_PIN_C21 371
#define CFG_PIN_C22 372
#define CFG_PIN_C23 373
#define CFG_PIN_C24 374
#define CFG_PIN_C25 375
#define CFG_PIN_C26 376
#define CFG_PIN_C27 377
#define CFG_PIN_C28 378
#define CFG_PIN_C29 379
#define CFG_PIN_C30 380
#define CFG_PIN_C31 381
#define CFG_PIN_P0 400
#define CFG_PIN_P1 401
#define CFG_PIN_P2 402
#define CFG_PIN_P3 403
#define CFG_PIN_P4 404
#define CFG_PIN_P5 405
#define CFG_PIN_P6 406
#define CFG_PIN_P7 407
#define CFG_PIN_P8 408
#define CFG_PIN_P9 409
#define CFG_PIN_P10 410
#define CFG_PIN_P11 411
#define CFG_PIN_P12 412
#define CFG_PIN_P13 413
#define CFG_PIN_P14 414
#define CFG_PIN_P15 415
#define CFG_PIN_P16 416
#define CFG_PIN_P17 417
#define CFG_PIN_P18 418
#define CFG_PIN_P19 419
#define CFG_PIN_P20 420
#define CFG_PIN_P21 421
#define CFG_PIN_P22 422
#define CFG_PIN_P23 423
#define CFG_PIN_P24 424
#define CFG_PIN_P25 425
#define CFG_PIN_P26 426
#define CFG_PIN_P27 427
#define CFG_PIN_P28 428
#define CFG_PIN_P29 429
#define CFG_PIN_P30 430
#define CFG_PIN_P31 431
#define CFG_PIN_LORA_MISO 1001
#define CFG_PIN_LORA_MOSI 1002
#define CFG_PIN_LORA_SCK 1003
#define CFG_PIN_LORA_CS 1004
#define CFG_PIN_LORA_BOOT 1005
#define CFG_PIN_LORA_RESET 1006
#define CFG_PIN_IRRXLED 1007
#define CFG_PIN_IRTXLED 1008
#define CFG_PIN_LCD_RESET 1009
#define CFG_PIN_LCD_ENABLE 1010
#define CFG_PIN_LCD_DATALINE4 1011
#define CFG_PIN_LCD_DATALINE5 1012
#define CFG_PIN_LCD_DATALINE6 1013
#define CFG_PIN_LCD_DATALINE7 1014
#define CFG_NUM_LCD_COLUMNS 1015
#define CFG_NUM_LCD_ROWS 1016
#endif
`
const configKeys = {}
CONFIG_KEYS_H.replace(/#define\s+CFG_(\w+)\s+(\w+)/g, function(m, name, value) {
configKeys[name] = parseInt(value);
return "";
})
const enums = {
// these are the same as the default I2C ID