JS: Flipboard
This commit is contained in:
66
js/flipboard/scripts/infrared_fb.js
Normal file
66
js/flipboard/scripts/infrared_fb.js
Normal file
@@ -0,0 +1,66 @@
|
||||
({
|
||||
title: "Infrared Blast",
|
||||
primaryAction: function (buttonNumber) {
|
||||
// Do an action based on the button number.
|
||||
if (buttonNumber === 1) {
|
||||
this.api.textbox.addText("\nPower");
|
||||
this.api.infrared.sendProtocol("Samsung32", 0x07, 0x02);
|
||||
} else if (buttonNumber === 2) {
|
||||
this.api.textbox.addText("\nVolume Up");
|
||||
this.api.infrared.sendProtocol("Samsung32", 0x07, 0x07);
|
||||
} else if (buttonNumber === 4) {
|
||||
this.api.textbox.addText("\nVolume Down");
|
||||
this.api.infrared.sendProtocol("Samsung32", 0x07, 0x0B);
|
||||
} else if (buttonNumber === (2 | 8)) {
|
||||
this.api.textbox.addText("\nChannel Up");
|
||||
this.api.infrared.sendProtocol("Samsung32", 0x07, 0x12);
|
||||
} else if (buttonNumber === (4 | 8)) {
|
||||
this.api.textbox.addText("\nChannel Down");
|
||||
this.api.infrared.sendProtocol("Samsung32", 0x07, 0x10);
|
||||
}
|
||||
},
|
||||
init: function (api) {
|
||||
this.api = api;
|
||||
|
||||
// Allow the Flipboard button to repeat action [adding button 16] when held down.
|
||||
this.api.flipboardButton.repeat = true;
|
||||
|
||||
// Initialize access to the Flipper Zero speaker
|
||||
this.api.initSpeaker();
|
||||
|
||||
// Initialize access to the Infrared module
|
||||
this.api.require("infrared");
|
||||
|
||||
this.initTextbox();
|
||||
},
|
||||
initTextbox: function () {
|
||||
this.api.textbox.addText(this.title + "\n");
|
||||
this.api.textbox.addText("Green: Power.\nRed = Volume +\nYellow = Volume -\nBlue + Red = Channel +\nBlue + Yellow = Channel -");
|
||||
this.api.textbox.show();
|
||||
},
|
||||
buttonPressed: function (buttonNumber, _pressedArray) {
|
||||
// Ignore button 1 [Power] if repeat (16).
|
||||
if (buttonNumber === (1 | 16)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove the repeat flag.
|
||||
buttonNumber = buttonNumber & ~16;
|
||||
|
||||
// A button press of 0 means the user released all of the buttons.
|
||||
if (buttonNumber === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Ignore holding button 8
|
||||
if (buttonNumber === 8) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Play a tone for 100ms when button pressed.
|
||||
this.api.speaker.play(440 + 100 * buttonNumber, 1.00, 100);
|
||||
|
||||
// Perform the primary action.
|
||||
this.primaryAction(buttonNumber);
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user