UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

81 lines 9.75 kB
import { GPIO } from './definitions'; export var GPIO_MODE; (function (GPIO_MODE) { GPIO_MODE[GPIO_MODE["INPUT_FLOATING"] = 0] = "INPUT_FLOATING"; GPIO_MODE[GPIO_MODE["OUTPUT_OPENDRAIN"] = 1] = "OUTPUT_OPENDRAIN"; GPIO_MODE[GPIO_MODE["OUTPUT_PUSHPULL"] = 3] = "OUTPUT_PUSHPULL"; GPIO_MODE[GPIO_MODE["INPUT_PULLUP"] = 4] = "INPUT_PULLUP"; GPIO_MODE[GPIO_MODE["OUTPUT_OPENDRAIN_PULLUP"] = 5] = "OUTPUT_OPENDRAIN_PULLUP"; GPIO_MODE[GPIO_MODE["INPUT_PULLDOWN"] = 8] = "INPUT_PULLDOWN"; GPIO_MODE[GPIO_MODE["INPUT_ANALOG_FLOATING"] = 128] = "INPUT_ANALOG_FLOATING"; GPIO_MODE[GPIO_MODE["OUTPUT_ANALOG_PWM"] = 131] = "OUTPUT_ANALOG_PWM"; })(GPIO_MODE || (GPIO_MODE = {})); export class TapGPIOController { tap; conf; _state; _mode; constructor(tap, conf) { this.tap = tap; this.conf = conf; } toggle() { if (this._state == GPIO.Signal.HIGH) { return this.low(); } else { return this.high(); } } low() { return this.tap.lwm2m .post(`/1029/${this.conf.num}/5`, Uint8Array.from([0])) .then((response) => { response.successful(); this._state = GPIO.Signal.LOW; }); } high() { // let value = 0xFF & this.conf.num; // let value = 0b00011101; const value = 1; return this.tap.lwm2m .post(`/1029/${this.conf.num}/5`, Uint8Array.from([value])) .then((response) => { response.successful(); this._state = GPIO.Signal.HIGH; }); } read() { return this.tap.lwm2m.get(`/1029/${this.conf.num}/4`).then((response) => { const result = response.body()[0]; const decoded = result == 1 ? GPIO.Signal.HIGH : GPIO.Signal.LOW; console.log('READ RESULT', decoded); return decoded; }); } setup(direction = GPIO.Mode.OUT, initial = GPIO.Signal.LOW) { // let value = 0xFF & this.conf.num; // let value = 0b00011101; const value = 1; switch (direction) { case GPIO.Mode.IN: return this.tap.lwm2m .post(`/1029/${this.conf.num + 10}/5`, Uint8Array.from([value])) .then((response) => { response.successful(); this._mode = GPIO.Mode.IN; }); case GPIO.Mode.OUT: return this.tap.lwm2m .post(`/1029/${this.conf.num + 10}/5`, Uint8Array.from([0x00])) .then((response) => { response.successful(); this._mode = GPIO.Mode.OUT; }); default: throw new Error('Invalid setup'); } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9ncGlvL3NyYy9saWIvdGFwLWV4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRCxNQUFNLENBQU4sSUFBWSxTQVNYO0FBVEQsV0FBWSxTQUFTO0lBQ25CLDZEQUFrQixDQUFBO0lBQ2xCLGlFQUFvQixDQUFBO0lBQ3BCLCtEQUFtQixDQUFBO0lBQ25CLHlEQUFnQixDQUFBO0lBQ2hCLCtFQUEyQixDQUFBO0lBQzNCLDZEQUFrQixDQUFBO0lBQ2xCLDZFQUE0QixDQUFBO0lBQzVCLHFFQUF3QixDQUFBO0FBQzFCLENBQUMsRUFUVyxTQUFTLEtBQVQsU0FBUyxRQVNwQjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFJVDtJQUFpQjtJQUhwQyxNQUFNLENBQWU7SUFDckIsS0FBSyxDQUFhO0lBRWxCLFlBQW1CLEdBQVEsRUFBUyxJQUFhO1FBQTlCLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFTO0lBQUcsQ0FBQztJQUVyRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSzthQUNsQixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENB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Q0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUdQSU9Db250cm9sbGVyLCBHUElPUGluLCBHUElPIH0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBUYXAgfSBmcm9tICdAaW90aXplL3RhcCc7XG5cbmV4cG9ydCBlbnVtIEdQSU9fTU9ERSB7XG4gIElOUFVUX0ZMT0FUSU5HID0gMCxcbiAgT1VUUFVUX09QRU5EUkFJTiA9IDEsXG4gIE9VVFBVVF9QVVNIUFVMTCA9IDMsXG4gIElOUFVUX1BVTExVUCA9IDQsXG4gIE9VVFBVVF9PUEVORFJBSU5fUFVMTFVQID0gNSxcbiAgSU5QVVRfUFVMTERPV04gPSA4LFxuICBJTlBVVF9BTkFMT0dfRkxPQVRJTkcgPSAweDgwLFxuICBPVVRQVVRfQU5BTE9HX1BXTSA9IDB4ODMsXG59XG5cbmV4cG9ydCBjbGFzcyBUYXBHUElPQ29udHJvbGxlciBpbXBsZW1lbnRzIElHUElPQ29udHJvbGxlciB7XG4gIF9zdGF0ZT86IEdQSU8uU2lnbmFsO1xuICBfbW9kZT86IEdQSU8uTW9kZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGFwOiBUYXAsIHB1YmxpYyBjb25mOiBHUElPUGluKSB7fVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT0gR1BJTy5TaWduYWwuSElHSCkge1xuICAgICAgcmV0dXJuIHRoaXMubG93KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmhpZ2goKTtcbiAgICB9XG4gIH1cblxuICBsb3coKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnRhcC5sd20ybVxuICAgICAgLnBvc3QoYC8xMDI5LyR7dGhpcy5jb25mLm51bX0vNWAsIFVpbnQ4QXJyYXkuZnJvbShbMF0pKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJlc3BvbnNlLnN1Y2Nlc3NmdWwoKTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBHUElPLlNpZ25hbC5MT1c7XG4gICAgICB9KTtcbiAgfVxuXG4gIGhpZ2goKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIGxldCB2YWx1ZSA9IDB4RkYgJiB0aGlzLmNvbmYubnVtO1xuICAgIC8vIGxldCB2YWx1ZSA9IDBiMDAwMTExMDE7XG4gICAgY29uc3QgdmFsdWUgPSAxO1xuICAgIHJldHVybiB0aGlzLnRhcC5sd20ybVxuICAgICAgLnBvc3QoYC8xMDI5LyR7dGhpcy5jb25mLm51bX0vNWAsIFVpbnQ4QXJyYXkuZnJvbShbdmFsdWVdKSlcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICByZXNwb25zZS5zdWNjZXNzZnVsKCk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gR1BJTy5TaWduYWwuSElHSDtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVhZCgpOiBHUElPLlNpZ25hbCB8IFByb21pc2U8R1BJTy5TaWduYWw+IHtcbiAgICByZXR1cm4gdGhpcy50YXAubHdtMm0uZ2V0KGAvMTAyOS8ke3RoaXMuY29uZi5udW19LzRgKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gcmVzcG9uc2UuYm9keSgpWzBdO1xuICAgICAgY29uc3QgZGVjb2RlZCA9IHJlc3VsdCA9PSAxID8gR1BJTy5TaWduYWwuSElHSCA6IEdQSU8uU2lnbmFsLkxPVztcbiAgICAgIGNvbnNvbGUubG9nKCdSRUFEIFJFU1VMVCcsIGRlY29kZWQpO1xuICAgICAgcmV0dXJuIGRlY29kZWQ7XG4gICAgfSk7XG4gIH1cblxuICBzZXR1cChcbiAgICBkaXJlY3Rpb246IEdQSU8uTW9kZSA9IEdQSU8uTW9kZS5PVVQsXG4gICAgaW5pdGlhbDogR1BJTy5TaWduYWwgPSBHUElPLlNpZ25hbC5MT1dcbiAgKSB7XG4gICAgLy8gbGV0IHZhbHVlID0gMHhGRiAmIHRoaXMuY29uZi5udW07XG4gICAgLy8gbGV0IHZhbHVlID0gMGIwMDAxMTEwMTtcbiAgICBjb25zdCB2YWx1ZSA9IDE7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgR1BJTy5Nb2RlLklOOlxuICAgICAgICByZXR1cm4gdGhpcy50YXAubHdtMm1cbiAgICAgICAgICAucG9zdChgLzEwMjkvJHt0aGlzLmNvbmYubnVtICsgMTB9LzVgLCBVaW50OEFycmF5LmZyb20oW3ZhbHVlXSkpXG4gICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICByZXNwb25zZS5zdWNjZXNzZnVsKCk7XG4gICAgICAgICAgICB0aGlzLl9tb2RlID0gR1BJTy5Nb2RlLklOO1xuICAgICAgICAgIH0pO1xuICAgICAgY2FzZSBHUElPLk1vZGUuT1VUOlxuICAgICAgICByZXR1cm4gdGhpcy50YXAubHdtMm1cbiAgICAgICAgICAucG9zdChgLzEwMjkvJHt0aGlzLmNvbmYubnVtICsgMTB9LzVgLCBVaW50OEFycmF5LmZyb20oWzB4MDBdKSlcbiAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHJlc3BvbnNlLnN1Y2Nlc3NmdWwoKTtcbiAgICAgICAgICAgIHRoaXMuX21vZGUgPSBHUElPLk1vZGUuT1VUO1xuICAgICAgICAgIH0pO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHNldHVwJyk7XG4gICAgfVxuICB9XG59XG4iXX0=