Родитель
813dcb7de1
Коммит
8843f081c3
|
@ -1,8 +1,8 @@
|
|||
namespace modules {
|
||||
//% fixedInstances
|
||||
export class AccelerometerClient extends jacdac.BufferedSensorClient<number[]> {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("acc", jacdac.SRV_ACCELEROMETER, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_ACCELEROMETER, requiredDevice);
|
||||
}
|
||||
|
||||
protected parseSample(packet: jacdac.JDPacket) {
|
||||
|
@ -80,5 +80,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const accelerometer = new AccelerometerClient();
|
||||
export const accelerometer = new AccelerometerClient("acc");
|
||||
}
|
|
@ -29,8 +29,8 @@ namespace jacdac {
|
|||
export class ActuatorClient extends Client {
|
||||
protected state: Buffer;
|
||||
|
||||
constructor(name: string, deviceClass: number, stateLength: number, requiredDevice: string) {
|
||||
super(name, deviceClass, requiredDevice);
|
||||
constructor(deviceClass: number, stateLength: number, requiredDevice: string) {
|
||||
super(deviceClass, requiredDevice);
|
||||
this.state = Buffer.create(stateLength);
|
||||
// TODO
|
||||
// this.onDriverEvent(JDDriverEvent.Connected, () => this.notifyChange());
|
||||
|
|
|
@ -4,8 +4,8 @@ namespace modules {
|
|||
|
||||
//% fixedInstances
|
||||
export class ButtonClient extends jacdac.SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("btn", jacdac.SRV_BUTTON, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_BUTTON, requiredDevice);
|
||||
}
|
||||
|
||||
connectControllerButton(controllerButton: number) {
|
||||
|
@ -40,5 +40,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const button = new ButtonClient();
|
||||
export const button = new ButtonClient("btn");
|
||||
}
|
|
@ -62,8 +62,8 @@ namespace modules {
|
|||
|
||||
//% fixedInstances
|
||||
export class BuzzerClient extends jacdac.Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("mus", jacdac.SRV_BUZZER, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_BUZZER, requiredDevice);
|
||||
}
|
||||
|
||||
private player: JDMelodyPlayer
|
||||
|
@ -90,5 +90,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const buzzer = new BuzzerClient();
|
||||
export const buzzer = new BuzzerClient("buzzer");
|
||||
}
|
|
@ -20,7 +20,7 @@ namespace jacdac {
|
|||
controlData: Buffer
|
||||
|
||||
constructor() {
|
||||
super("ctrl", jd_class.CONTROLLER);
|
||||
super("controller", jd_class.CONTROLLER);
|
||||
this.controlData = Buffer.create(3)
|
||||
this.controlData[0] = JDControllerCommand.ControlClient;
|
||||
this.serverAddress = 0;
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace jacdac {
|
|||
players: string[];
|
||||
|
||||
constructor() {
|
||||
super("ctrl", jd_class.CONTROLLER);
|
||||
super("controller", jd_class.CONTROLLER);
|
||||
this.players = [];
|
||||
this.promptedServers = [];
|
||||
this.prompting = false;
|
||||
|
|
|
@ -4,8 +4,8 @@ namespace jacdac {
|
|||
|
||||
//% fixedInstances
|
||||
export class ArcadeControlsClient extends Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("apad", SRV_GAMEPAD, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(SRV_GAMEPAD, requiredDevice);
|
||||
}
|
||||
|
||||
handlePacket(pkt: JDPacket) {
|
||||
|
@ -23,5 +23,5 @@ namespace jacdac {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const arcadeControls = new ArcadeControlsClient();
|
||||
export const arcadeControls = new ArcadeControlsClient("arcadepad");
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
namespace jacdac {
|
||||
//% fixedInstances
|
||||
export class ColorSensorClient extends SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("cols", jd_class.COLOR_SENSOR, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace jacdac {
|
|||
|
||||
//% fixedInstances
|
||||
export class GamepadClient extends Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("gpad", jd_class.GAMEPAD, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ enum JDKeyboardKeyEvent {
|
|||
namespace jacdac {
|
||||
//% fixedInstances
|
||||
export class KeyboardClient extends Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("keyb", SRV_KEYBOARD, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ namespace jacdac {
|
|||
|
||||
//% fixedInstances
|
||||
export class LCDClient extends ActuatorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("lcd", jd_class.LCD, 17, requiredDevice);
|
||||
this.setDisplay(true);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ namespace jacdac {
|
|||
|
||||
//% fixedInstances
|
||||
export class LightSensorClient extends SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("lis", jd_class.LIGHT_SENSOR, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace jacdac {
|
|||
}
|
||||
//% fixedInstances
|
||||
export class LightSpectrumSensorClient extends SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("lspec", jd_class.LIGHT_SPECTRUM_SENSOR, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ const enum JDMouseButton {
|
|||
namespace jacdac {
|
||||
//% fixedInstances
|
||||
export class MouseClient extends Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("mous", SRV_MOUSE, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
namespace jacdac {
|
||||
//% fixedInstances
|
||||
export class PixelClient extends ActuatorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("pixel", jd_class.PIXEL, 4, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace jacdac {
|
|||
|
||||
//% fixedInstances
|
||||
export class ProximityClient extends SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("proxi", jd_class.PROXIMITY, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
namespace jacdac {
|
||||
//% fixedInstances
|
||||
export class RGBLEDClient extends Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("RGBLED", jd_class.RGB_LED, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
namespace jacdac {
|
||||
//% fixedInstances
|
||||
export class SwitchClient extends SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("switch", SRV_SWITCH, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
namespace jacdac {
|
||||
//% fixedInstances
|
||||
export class TouchButtonClient extends SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("touch", jd_class.TOUCHBUTTON, requiredDevice);
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ namespace jacdac {
|
|||
* A client of multiple buttons
|
||||
*/
|
||||
export class TouchButtonsClient extends SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("mtouch", jd_class.TOUCH_BUTTONS, requiredDevice);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@ namespace modules {
|
|||
//% fixedInstances
|
||||
//% blockGap=8
|
||||
export class LightClient extends jacdac.Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("light", jacdac.SRV_LIGHT, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_LIGHT, requiredDevice);
|
||||
}
|
||||
|
||||
_length = 10
|
||||
|
@ -358,5 +358,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const light = new LightClient();
|
||||
export const light = new LightClient("rgb_pixels");
|
||||
}
|
|
@ -5,7 +5,7 @@ namespace jacdac {
|
|||
onMessageReceived: (priority: number, dev: Device, message: string) => void;
|
||||
|
||||
constructor() {
|
||||
super("conc", SRV_LOGGER, null);
|
||||
super(SRV_LOGGER, "logger");
|
||||
this.broadcast = true
|
||||
onAnnounce(() => {
|
||||
// on every announce, if we're listening to anything, tell
|
||||
|
|
|
@ -2,8 +2,8 @@ namespace modules {
|
|||
//% fixedInstances
|
||||
//% blockGap=8
|
||||
export class MicrophoneClient extends jacdac.SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("mic", jacdac.SRV_MICROPHONE, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_MICROPHONE, requiredDevice);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,5 +19,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const microphone = new MicrophoneClient();
|
||||
export const microphone = new MicrophoneClient("mic");
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
makecode -u -j --mono-repo -c mkc.json
|
||||
makecode -u -j --mono-repo -c mkc-microbit.json
|
||||
makecode -u -j --mono-repo -c mkc-arcade.json
|
|
@ -10,8 +10,8 @@ namespace jacdac {
|
|||
//% fixedInstances
|
||||
//% blockGap=8
|
||||
export class ModelRunnerClient extends Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("mrun", SRV_MODEL_RUNNER, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(SRV_MODEL_RUNNER, requiredDevice);
|
||||
}
|
||||
|
||||
private _autoInv: number
|
||||
|
@ -60,5 +60,5 @@ namespace jacdac {
|
|||
* Default model runner
|
||||
*/
|
||||
//% fixedInstance
|
||||
export const modelRunner = new ModelRunnerClient();
|
||||
export const modelRunner = new ModelRunnerClient("model_runner");
|
||||
}
|
|
@ -19,8 +19,8 @@ namespace modules {
|
|||
//% fixedInstances
|
||||
//% blockGap=8
|
||||
export class MonoLightClient extends jacdac.Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("monol", jacdac.SRV_MONO_LIGHT, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_MONO_LIGHT, requiredDevice);
|
||||
}
|
||||
|
||||
// set to negative for infinity
|
||||
|
@ -63,5 +63,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const monoLight = new MonoLightClient();
|
||||
export const monoLight = new MonoLightClient("mono_light");
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
namespace modules {
|
||||
//% fixedInstances
|
||||
export class MotorClient extends jacdac.Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("motor", jacdac.SRV_MOTOR, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_MOTOR, requiredDevice);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -27,5 +27,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const motor = new MotorClient();
|
||||
export const motor = new MotorClient("motor");
|
||||
}
|
|
@ -5,8 +5,8 @@ namespace modules {
|
|||
//% fixedInstances
|
||||
//% blockGap=8
|
||||
export class MultiTouchClient extends jacdac.SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("multitouch", jacdac.SRV_MULTITOUCH, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_MULTITOUCH, requiredDevice);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -33,5 +33,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const multiTouch = new MultiTouchClient();
|
||||
export const multiTouch = new MultiTouchClient("multitouch");
|
||||
}
|
||||
|
|
|
@ -175,7 +175,7 @@ namespace jacdac._rolemgr {
|
|||
function packName(c: Client) {
|
||||
const devid = c.device ? Buffer.fromHex(c.device.deviceId) : Buffer.create(8)
|
||||
const servidx = c.device ? c.serviceIndex : 0
|
||||
return jdpack("b[8] u32 u8 s", [devid, c.serviceClass, servidx, c.requiredDeviceName || ""])
|
||||
return jdpack("b[8] u32 u8 s", [devid, c.serviceClass, servidx, c.requiredDeviceName])
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -278,7 +278,7 @@ namespace jacdac {
|
|||
export class RoleManagerClient extends Client {
|
||||
public remoteRequestedDevices: RoleBinding[] = []
|
||||
|
||||
constructor(requiredDevice: string = null) {
|
||||
constructor(requiredDevice: string) {
|
||||
super("rolemgrc", SRV_ROLE_MANAGER, requiredDevice)
|
||||
|
||||
onNewDevice(() => {
|
||||
|
|
|
@ -2,8 +2,8 @@ namespace modules {
|
|||
//% fixedInstances
|
||||
//% blockGap=8
|
||||
export class RotaryEncoderClient extends jacdac.SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("crank", jacdac.SRV_ROTARY_ENCODER, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_ROTARY_ENCODER, requiredDevice);
|
||||
}
|
||||
|
||||
scale = 1
|
||||
|
@ -47,5 +47,5 @@ namespace modules {
|
|||
* Default rotary encoder
|
||||
*/
|
||||
//% fixedInstance whenUsed
|
||||
export const rotaryEncoder = new RotaryEncoderClient();
|
||||
export const rotaryEncoder = new RotaryEncoderClient("rotary_encoder");
|
||||
}
|
11
routing.ts
11
routing.ts
|
@ -288,16 +288,13 @@ namespace jacdac {
|
|||
protected readonly config: ClientPacketQueue
|
||||
|
||||
constructor(
|
||||
public name: string,
|
||||
public readonly serviceClass: number,
|
||||
public requiredDeviceName: string
|
||||
) {
|
||||
this.eventId = control.allocateNotifyEvent();
|
||||
this.config = new ClientPacketQueue(this)
|
||||
if (!this.name)
|
||||
throw "no name"
|
||||
if (!this.requiredDeviceName)
|
||||
this.requiredDeviceName = this.name
|
||||
throw "no role"
|
||||
}
|
||||
|
||||
broadcastDevices() {
|
||||
|
@ -337,7 +334,7 @@ namespace jacdac {
|
|||
this.serviceIndex = serviceNum
|
||||
_unattachedClients.removeElement(this)
|
||||
}
|
||||
log(`attached ${dev.toString()}/${serviceNum} to client ${this.name}`)
|
||||
log(`attached ${dev.toString()}/${serviceNum} to client ${this.requiredDeviceName}`)
|
||||
dev.clients.push(this)
|
||||
this.onAttach()
|
||||
this.config.resend()
|
||||
|
@ -345,7 +342,7 @@ namespace jacdac {
|
|||
}
|
||||
|
||||
_detach() {
|
||||
log(`dettached ${this.name}`)
|
||||
log(`dettached ${this.requiredDeviceName}`)
|
||||
this.serviceIndex = null
|
||||
if (!this.broadcast) {
|
||||
if (!this.device) throw "Invalid detach"
|
||||
|
@ -412,7 +409,7 @@ namespace jacdac {
|
|||
return
|
||||
let dev = selfDevice().toString()
|
||||
let other = this.device ? this.device.toString() : "<unbound>"
|
||||
console.add(consolePriority, `${dev}/${other}:${this.serviceClass}>${this.name}>${text}`);
|
||||
console.add(consolePriority, `${dev}/${other}:${this.serviceClass}>${this.requiredDeviceName}>${text}`);
|
||||
}
|
||||
|
||||
start() {
|
||||
|
|
|
@ -43,7 +43,7 @@ namespace jacdac {
|
|||
constructor(parent: SensorAggregatorHost, config: Buffer) {
|
||||
const [devIdBuf, serviceClass, serviceNum, sampleSize, sampleType, sampleShift] = jdunpack(config, "b[8] u32 u8 u8 u8 i8")
|
||||
const devId = devIdBuf.getNumber(NumberFormat.Int32LE, 0) == 0 ? null : devIdBuf.toHex()
|
||||
super("aggcoll", serviceClass, devId)
|
||||
super(serviceClass, devId + ":" + serviceNum)
|
||||
this.requiredServiceNum = serviceNum
|
||||
this.sampleType = sampleType
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace jacdac {
|
|||
|
||||
public isStreaming = false
|
||||
|
||||
constructor(name: string, deviceClass: number, requiredDevice: string) {
|
||||
super(name, deviceClass, requiredDevice);
|
||||
constructor(deviceClass: number, requiredDevice: string) {
|
||||
super(deviceClass, requiredDevice);
|
||||
this._lastState = control.createBuffer(0);
|
||||
}
|
||||
|
||||
|
@ -84,8 +84,8 @@ namespace jacdac {
|
|||
protected _interval: number
|
||||
protected _lastTimestamp: number
|
||||
|
||||
constructor(name: string, deviceClass: number, requiredDevice: string) {
|
||||
super(name, deviceClass, requiredDevice);
|
||||
constructor(deviceClass: number, requiredDevice: string) {
|
||||
super(deviceClass, requiredDevice);
|
||||
}
|
||||
|
||||
enableBuffer(numSamples: number, interval: number) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
namespace jacdac {
|
||||
export class BroadcastClient extends Client {
|
||||
// workaround for https://github.com/microsoft/pxt-arcade/issues/1831
|
||||
constructor(public readonly parent: Broadcast) {
|
||||
super(parent.name, parent.serviceClass, null)
|
||||
constructor(public readonly parent: Broadcast, role: string) {
|
||||
super(parent.serviceClass, role)
|
||||
this.broadcast = true
|
||||
}
|
||||
|
||||
|
@ -16,13 +16,11 @@ namespace jacdac {
|
|||
|
||||
constructor(name: string, serviceClass: number) {
|
||||
super(name, serviceClass)
|
||||
this.client = new BroadcastClient(this)
|
||||
this.client = new BroadcastClient(this, name)
|
||||
}
|
||||
|
||||
handlePacketOuter(pkt: JDPacket) {
|
||||
// do nothing; we're not expecting any packets addressed directly to us
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -2,8 +2,8 @@ namespace modules {
|
|||
//% fixedInstances
|
||||
//% blockGap=8
|
||||
export class ServoClient extends jacdac.Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("servo", jacdac.SRV_SERVO, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_SERVO, requiredDevice);
|
||||
}
|
||||
|
||||
private pulse: number
|
||||
|
@ -92,5 +92,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const servo = new ServoClient();
|
||||
export const servo = new ServoClient("servo");
|
||||
}
|
|
@ -2,8 +2,8 @@ namespace modules {
|
|||
//% fixedInstances
|
||||
//% blockGap=8
|
||||
export class SliderClient extends jacdac.SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("slider", jacdac.SRV_SLIDER, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_SLIDER, requiredDevice);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,5 +26,5 @@ namespace modules {
|
|||
* Default slider
|
||||
*/
|
||||
//% fixedInstance whenUsed
|
||||
export const slider = new SliderClient();
|
||||
export const slider = new SliderClient("slider");
|
||||
}
|
|
@ -49,8 +49,8 @@ namespace jacdac {
|
|||
export class TcpClient extends Client {
|
||||
_retPort: number = null
|
||||
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("tcp", SRV_TCP, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(SRV_TCP, requiredDevice);
|
||||
}
|
||||
|
||||
handlePacket(pkt: JDPacket) {
|
||||
|
|
24
test.ts
24
test.ts
|
@ -33,7 +33,7 @@ function jdpackTest() {
|
|||
testOne("u16 u16[]", [42, []])
|
||||
testOne("u16 z[]", [42, ["foo", "bar", "bz"]])
|
||||
}
|
||||
|
||||
|
||||
// pins.A9.digitalWrite(false)
|
||||
|
||||
jacdac.consolePriority = ConsolePriority.Log;
|
||||
|
@ -43,19 +43,19 @@ jacdac.start()
|
|||
jacdac.loggerHost.log("test started")
|
||||
//jdpackTest()
|
||||
|
||||
function addClient(cls:number,name:string) {
|
||||
function addClient(cls: number, name: string) {
|
||||
console.log(`client: ${name} (${cls})`)
|
||||
new jacdac.Client(name,cls,name).start()
|
||||
new jacdac.Client(cls, name).start()
|
||||
}
|
||||
addClient(0x1f140409, "left_leg/acc1" )
|
||||
addClient(0x1473a263, "btn1" )
|
||||
addClient(0x16c810b8, "small/hum" )
|
||||
addClient(0x1421bac7, "small/temp" )
|
||||
addClient(0x169c9dc6, "big/eco2" )
|
||||
addClient(0x16c810b8, "big/hum" )
|
||||
addClient(0x1421bac7, "big/temp" )
|
||||
addClient(0x16c810b8, "xsmall/hum" )
|
||||
addClient(0x1421bac7, "xsmall/temp" )
|
||||
addClient(0x1f140409, "left_leg/acc1")
|
||||
addClient(0x1473a263, "btn1")
|
||||
addClient(0x16c810b8, "small/hum")
|
||||
addClient(0x1421bac7, "small/temp")
|
||||
addClient(0x169c9dc6, "big/eco2")
|
||||
addClient(0x16c810b8, "big/hum")
|
||||
addClient(0x1421bac7, "big/temp")
|
||||
addClient(0x16c810b8, "xsmall/hum")
|
||||
addClient(0x1421bac7, "xsmall/temp")
|
||||
|
||||
|
||||
jacdac._rolemgr.clearRoles()
|
||||
|
|
|
@ -15,8 +15,8 @@ const enum TemperatureUnit {
|
|||
namespace modules {
|
||||
//% fixedInstances
|
||||
export class ThermometerClient extends jacdac.SensorClient {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("temp", jacdac.SRV_THERMOMETER, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(jacdac.SRV_THERMOMETER, requiredDevice);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -48,5 +48,5 @@ namespace modules {
|
|||
}
|
||||
|
||||
//% fixedInstance whenUsed
|
||||
export const thermometer = new ThermometerClient();
|
||||
export const thermometer = new ThermometerClient("temp");
|
||||
}
|
|
@ -18,8 +18,8 @@ namespace jacdac {
|
|||
}
|
||||
|
||||
export class WifiClient extends Client {
|
||||
constructor(requiredDevice: string = null) {
|
||||
super("wifi", SRV_WIFI, requiredDevice);
|
||||
constructor(requiredDevice: string) {
|
||||
super(SRV_WIFI, requiredDevice);
|
||||
}
|
||||
|
||||
get hasIP() {
|
||||
|
@ -58,9 +58,9 @@ namespace jacdac {
|
|||
if (this.wifiClient)
|
||||
return
|
||||
|
||||
this.wifiClient = new WifiClient()
|
||||
this.wifiClient = new WifiClient("wifi")
|
||||
this.wifiClient.start()
|
||||
this.tcpClient = new TcpClient()
|
||||
this.tcpClient = new TcpClient("tcp")
|
||||
this.tcpClient.start()
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче