Changelog 3 1 15 » History » Version 2
Torbjorn Carlqvist Admin, 09/14/2023 01:15 PM
1 | 1 | Torbjorn Carlqvist Admin | h1. Changelog 3.1.15 |
---|---|---|---|
2 | |||
3 | New features: |
||
4 | |||
5 | h3. Direct GPIO support |
||
6 | |||
7 | Introduced control of generic GPIO on various (pi)-platforms to control pins on the 40-pin header directly from javascript. |
||
8 | This is a first effort of direct IO and only 5 input and 3 output pins are accessible and enumerated as A to E for input and A to C for output. |
||
9 | The mapping for Raspberry Pi platforms is: |
||
10 | |||
11 | Inputs: |
||
12 | A -> pin 29 |
||
13 | B -> pin 31 |
||
14 | C -> pin 33 |
||
15 | D -> pin 35 |
||
16 | E -> pin 37 |
||
17 | |||
18 | Output |
||
19 | A -> pin 19 |
||
20 | B -> pin 21 |
||
21 | C -> pin 23 |
||
22 | |||
23 | !gpio_rpi_pinout.PNG! |
||
24 | |||
25 | To access the pins via javascript use: |
||
26 | <pre><code class="javascript"> |
||
27 | //To set output level ("high" and "low" is valid) |
||
28 | Controller.GPIOSetOutputChannel("B","high"); |
||
29 | //To read the output or input channels (will return "high" or "low") |
||
30 | print(Controller.GPIOGetInputChannel("B")); |
||
31 | print(Controller.GPIOGetOutputChannel("A")); |
||
32 | </code></pre> |
||
33 | |||
34 | |||
35 | To listen on events: |
||
36 | <pre><code class="javascript"> |
||
37 | /** |
||
38 | * Invoked when any of the GPIO input channels are changing state |
||
39 | * |
||
40 | * @param {String} channel - The input channel. Eg. "A" |
||
41 | * @param {String} toState - Can be "high" or "low" |
||
42 | */ |
||
43 | function onGPIOInputChange(channel,toState){ |
||
44 | |||
45 | print("onGPIOInputChange - Input channel " + channel + " changed to " + toState); |
||
46 | |||
47 | } |
||
48 | </code></pre> |
||
49 | |||
50 | |||
51 | |||
52 | h3. KIOSK mode |
||
53 | |||
54 | 2 | Torbjorn Carlqvist Admin | Introduced a way of getting an http session as anonymous when explicit using the name kiosk.html on the first page. |
55 | 1 | Torbjorn Carlqvist Admin | This means that when you create a html page as *kiosk.html* and give that URL to a user it allows the user to access the page without the need for login with user/password. |
56 | This is typicaly practical in kiosk applications for public use. |
||
57 | Note that only 1-page applications is supported in this way so if a link to a secondary page is put in kiosk.html the user will be forwarded to the login page! |
||
58 | |||
59 | Clean up: |
||
60 | |||
61 | * Removing the MIRA and BLE5 implementations completely from the platform. |
||
62 | |||
63 | Bug fix: |
||
64 | * Added "Path=/" to cookie response. This is a hack due to lack of support in NanoHTTPD library. |