Event badge for CampZone 2020
Use STM32CubeIDE
See badgeteam/ESP32-platform-firmware and docs.badge.team
Node.js build static site for using with Hatchery over WebUSB
Event badge for CampZone 2020
Use STM32CubeIDE
See badgeteam/ESP32-platform-firmware and docs.badge.team
Node.js build static site for using with Hatchery over WebUSB
Allow users to record mono samples @ 22.050 128kps in the Webui and upload those to /flash/cache/samples/sample.mp3
Users are able to move those to different apps and rename them accordingly.
I manually created some directories under the " Apps" folder to store my own projects.
When assigning such a project to one of the buttons, the message "generating spoken name for app" appears every time you return to the home-state with the home-button.
Terminal screen output: Skipping app name generation due to earlier error.
Perhaps due to the frequency with which we poll the ESP for new output?
Badge runs into a bootloop, and keeps repeating " Generating a spoken name for app" , following a short beep which seems to be caused by the reboot that follows.
Actions that have been done that could possibly triggered this bootloop:
-Updated to the newest firmware
-Installed/Deinstalled some apps from the store,
-Made a test-app through the web-interface. Manually made some directories and files in the "Apps" -folder.
-Moved around some buttons.
All apps have been removed, but the problem persists. Apps are bootable when you press the button right before the spoken message.
Throws an error about handleLog not being available on undefined object.
Would be a nice way to even more easily update apps
In Paste Mode (which you enter with CTRL+E), pressing backspace does not remove the character left of the caret. Outside of paste mode, this works fine.
I have a metadata.json set, as well as made my own app, but it becomes a buggy name and the tts keeps looping...
Currently need top copy paste . . edit metadata
I have build the MQTT button app where the user needs to enter information (MQTT server IP, and topic) in the code before the application can be used.
It would be great if the user can enter the information on the "configure home screen buttons" and that it is parsed over to the application. I do not know if it is (technically) possible or not, but I would like to throw the suggestion.
The idea is that the app creator can add fields (text boxes, radio buttons, ...) to the selected app in the "configure home screen buttons" view. A placeholder variable can be placed in the Python code in the app, and when information is entered in the field the data will be parsed to the variable in the Python code.
this is the error code in inspect element Uncaught (in promise) DOMException: Failed to execute 'controlTransferIn' on 'USBDevice': A transfer error has occurred.
await (async)
(anonymous) @ webusb.js:399
webusb.js:44 Uncaught ReferenceError: Cannot access 'n' before initialization
at w (webusb.js:44:77)
at y (webusb.js:25:32)
at webusb.js:393:13
w @ webusb.js:44
y @ webusb.js:25
(anonymous) @ webusb.js:393
After creating/deleting some files in the Apps folder, the launcher app crashes. Terminal shows the following output:
`BADGE.TEAM
Starting app 'launcher'...
assertion "0 && "fatfs internal error"" failed: file "/Users/tom/Git/cz20-badge/firmware-ESP32/esp-idf/components/fatfs/src/vfs_fat.c", line 251, function: fresult_to_errno
abort() was called at PC 0x40119cdb on core 1
Backtrace: 0x4009318f:0x3ffc0bc0 0x40093489:0x3ffc0be0 0x40119cdb:0x3ffc0c00 0x4018777c:0x3ffc0c30 0x40187a4a:0x3ffc0c50 0x40134e46:0x3ffc0c80 0x4000bdbb:0x3ffc0ca0 0x400017ea:0x3ffc0cc0 0x4010bb51:0x3ffc0ce0 0x40119996:0x3ffc0d00 0x40146754:0x3ffc0d20 0x40145966:0x3ffc0d50 0x40145b06:0x3ffc0d90
Rebooting...
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:5192
load:0x40078000,len:9088
ho 0 tail 12 room 4
load:0x40080400,len:6652
entry 0x400806f8
`
This appears every 2 seconds.
Web interface is accessible. Pressing a button to start an app does not start the app..
I used the keyboard function by copying the cybertyper code and adapting it, but when I type multiple of the same character after each other, it gets limited to one.
I'd assume that with the following statement, the display would keep the same color. But instead, the display flashes between red and blue every statement. The value that is written is not related to what is returned.
display.drawPixel(x, y, display.getPixel(x, y))
A loop of this method, when occasionally setting the display to a new color results in odd behavior. The red/blue can be see with 0xff0000 and 0xff.
New color: 0xff6e6e
The display is now: 0x2121ff
The display is now: 0xff0303
The display is now: 0xff
The display is now: 0xff0000
The display is now: 0xff
The display is now: 0xff0000
The display is now: 0xff
The display is now: 0xff0000
The display is now: 0xff
The display is now: 0xff0000
New color: 0x59ffac
The display is now: 0x5fff15
The display is now: 0x2ff18
The display is now: 0x2ff00
The display is now: 0xff00
The display is now: 0xff00
The display is now: 0xff00
The display is now: 0xff00
The display is now: 0xff00
The display is now: 0xff00
The display is now: 0xff00
Generated with:
for x in [1, 2, 3, 0]:
for y in [1, 2, 3, 0]:
read = display.getPixel(x, y)
display.drawPixel(x, y, read)
print("The display is now: " + hex(read))
Set the Volume to in the settings.
Switch to a different page.
Switch back to settings
Volume slider will be set to position instead of 255 (max)
Badge allows me to download and update firmware trough WiFi (confirmed working on both home WiFi and phone AP), however apps that require WiFi connection fail to connect to WiFi.
The WebUSB environment tries to create the paths it needs when installing an app (https://github.com/hackzone/cz20-badge/blob/master/webusb_site/src/components/Apps.vue#L221). When updating, this isn't needed.
As it currently doesn't take this into account, the Javascript promise will fail which results in the vue component ending up in an improper state (you cannot install anymore apps till you refresh).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.