radio.setFrequencyBand support (#2495)

* setfrequencyband support

* revert line change

* add bounds check
This commit is contained in:
Peli de Halleux
2019-10-25 10:21:34 -07:00
committed by GitHub
parent 4382868d5f
commit 7e18be3c9b
6 changed files with 75 additions and 0 deletions

View File

@ -58,11 +58,13 @@ namespace pxsim {
transmitSerialNumber = false;
datagram: RadioDatagram;
groupId: number;
band: number;
constructor(runtime: Runtime) {
this.datagram = new RadioDatagram(runtime);
this.power = 6; // default value
this.groupId = 0;
this.band = 7; // https://github.com/lancaster-university/microbit-dal/blob/master/inc/core/MicroBitConfig.h#L320
}
public setGroup(id: number) {
@ -70,6 +72,7 @@ namespace pxsim {
}
setTransmitPower(power: number) {
power = power | 0;
this.power = Math.max(0, Math.min(7, power));
}
@ -77,6 +80,12 @@ namespace pxsim {
this.transmitSerialNumber = !!sn;
}
setFrequencyBand(band: number) {
band = band | 0;
if (band < 0 || band > 83) return;
this.band = band;
}
raiseEvent(id: number, eventid: number) {
Runtime.postMessage(<SimulatorEventBusMessage>{
type: "eventbus",
@ -108,6 +117,10 @@ namespace pxsim.radio {
board().radioState.setTransmitPower(power);
}
export function setFrequencyBand(band: number) {
board().radioState.setFrequencyBand(band);
}
export function sendRawPacket(buf: RefBuffer) {
let cb = getResume();
board().radioState.datagram.send({