added serial.redirect
This commit is contained in:
parent
ce9a83ff28
commit
0648e80131
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,6 @@
|
|||||||
node_modules
|
node_modules
|
||||||
|
yotta_modules
|
||||||
|
yotta_targets
|
||||||
built
|
built
|
||||||
typings
|
typings
|
||||||
tmp
|
tmp
|
||||||
|
21
libs/microbit/enums.d.ts
vendored
21
libs/microbit/enums.d.ts
vendored
@ -280,6 +280,27 @@ declare namespace led {
|
|||||||
}
|
}
|
||||||
declare namespace pins {
|
declare namespace pins {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
declare enum SerialPin {
|
||||||
|
P0 = 7, // MICROBIT_ID_IO_P0
|
||||||
|
P1 = 8, // MICROBIT_ID_IO_P1
|
||||||
|
P2 = 9, // MICROBIT_ID_IO_P2
|
||||||
|
P8 = 15, // MICROBIT_ID_IO_P8
|
||||||
|
P12 = 19, // MICROBIT_ID_IO_P12
|
||||||
|
P13 = 20, // MICROBIT_ID_IO_P13
|
||||||
|
P14 = 21, // MICROBIT_ID_IO_P14
|
||||||
|
P15 = 22, // MICROBIT_ID_IO_P15
|
||||||
|
P16 = 23, // MICROBIT_ID_IO_P16
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
declare enum BaudRate {
|
||||||
|
//% block=115200
|
||||||
|
BaudRate115200 = 115200,
|
||||||
|
//% block=9600
|
||||||
|
BaudRate9600 = 9600,
|
||||||
|
}
|
||||||
declare namespace serial {
|
declare namespace serial {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,24 @@
|
|||||||
#include "ksbit.h"
|
#include "ksbit.h"
|
||||||
|
|
||||||
|
enum class SerialPin {
|
||||||
|
P0 = MICROBIT_ID_IO_P0,
|
||||||
|
P1 = MICROBIT_ID_IO_P1,
|
||||||
|
P2 = MICROBIT_ID_IO_P2,
|
||||||
|
P8 = MICROBIT_ID_IO_P8,
|
||||||
|
P12 = MICROBIT_ID_IO_P12,
|
||||||
|
P13 = MICROBIT_ID_IO_P13,
|
||||||
|
P14 = MICROBIT_ID_IO_P14,
|
||||||
|
P15 = MICROBIT_ID_IO_P15,
|
||||||
|
P16 = MICROBIT_ID_IO_P16
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class BaudRate {
|
||||||
|
//% block=115200
|
||||||
|
BaudRate115200 = 115200,
|
||||||
|
//% block=9600
|
||||||
|
BaudRate9600 = 9600
|
||||||
|
};
|
||||||
|
|
||||||
//% weight=2 color=30
|
//% weight=2 color=30
|
||||||
namespace serial {
|
namespace serial {
|
||||||
// note that at least one // followed by % is needed per declaration!
|
// note that at least one // followed by % is needed per declaration!
|
||||||
@ -34,4 +53,19 @@ namespace serial {
|
|||||||
uBit.serial.eventOn(ManagedString(delimiters));
|
uBit.serial.eventOn(ManagedString(delimiters));
|
||||||
registerWithDal(MICROBIT_ID_SERIAL, MICROBIT_SERIAL_EVT_DELIM_MATCH, body);
|
registerWithDal(MICROBIT_ID_SERIAL, MICROBIT_SERIAL_EVT_DELIM_MATCH, body);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
/**
|
||||||
|
* Dynamically configuring the serial instance to use pins other than USBTX and USBRX.
|
||||||
|
* @param tx the new transmission pins
|
||||||
|
* @param rx the new reception pin
|
||||||
|
* @param baud the new baud rate. eg: 115200
|
||||||
|
*/
|
||||||
|
//% weight=10
|
||||||
|
//% help=serial/redirect
|
||||||
|
//% blockId=serial_redirect block="serial redirect to|TX %tx|RX %rx|at baud rate %rate"
|
||||||
|
//% blockExternalInputs=1
|
||||||
|
void redirect(SerialPin tx, SerialPin rx, BaudRate rate) {
|
||||||
|
uBit.serial.redirect((PinName)tx, (PinName)rx);
|
||||||
|
uBit.serial.baud((int)rate);
|
||||||
|
}
|
||||||
|
}
|
12
libs/microbit/shims.d.ts
vendored
12
libs/microbit/shims.d.ts
vendored
@ -575,6 +575,18 @@ declare namespace serial {
|
|||||||
//% weight=87
|
//% weight=87
|
||||||
//% blockId=serial_writestring block="serial write string %text" shim=serial::writeString
|
//% blockId=serial_writestring block="serial write string %text" shim=serial::writeString
|
||||||
function writeString(text: string): void;
|
function writeString(text: string): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dynamically configuring the serial instance to use pins other than USBTX and USBRX.
|
||||||
|
* @param tx the new transmission pins
|
||||||
|
* @param rx the new reception pin
|
||||||
|
* @param baud the new baud rate. eg: 115200
|
||||||
|
*/
|
||||||
|
//% weight=10
|
||||||
|
//% help=serial/redirect
|
||||||
|
//% blockId=serial_redirect block="serial redirect to|TX %tx|RX %rx|at baud rate %rate"
|
||||||
|
//% blockExternalInputs=1 shim=serial::redirect
|
||||||
|
function redirect(tx: SerialPin, rx: SerialPin, rate: BaudRate): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -438,6 +438,10 @@ namespace pxsim.serial {
|
|||||||
let b = board();
|
let b = board();
|
||||||
b.bus.listen(DAL.MICROBIT_ID_SERIAL, DAL.MICROBIT_SERIAL_EVT_DELIM_MATCH, handler);
|
b.bus.listen(DAL.MICROBIT_ID_SERIAL, DAL.MICROBIT_SERIAL_EVT_DELIM_MATCH, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function redirect(tx: number, rx: number, rate: number) {
|
||||||
|
// TODO?
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user