Hi there, I see that AES and SHA1 functions aren't available on the Puck.js, I do see that the source code for the puckjs build says that it is built with the Crypto library. Is encryption either AES or Sha1 available on the puck.js?
There's definitely SHA1 in Puck.js (at least on recent firmware) - you just use require("crypto").SHA1("your data"), however there was no AES built in.
Looking at it, there is space for it so I just added it. If you use one of the latest 'travis' builds from http://www.espruino.com/binaries/travis/master/ then it should now have require("crypto").AES in (or it'll be in the 1v97 release).
Wow, thanks a lot this is great If you don't mind me asking what are the steps you recommend to add/remove features on the puck,
Well, first you need to be able to build it yourself, using the info here: https://github.com/espruino/Espruino/blob/master/README_Building.md
But then if you look at this bit of the Puck's board file: https://github.com/espruino/Espruino/blob/master/boards/PUCKJS.py#L30
You'll see a bunch of libraries - you can comment/uncomment those (or look in other boards in the directory to find other libraries you can add).
You can add your own too - there's some info here: http://www.espruino.com/Extending+Espruino+1
Hi there thanks a lot I've been able to make quite a bit of progress in my project. I am not sure what is causing it but flashing my builds using the nrftool app results in the Puck to just display a solid red light upon resetting, and I am unable to see the device. I am building the device from source with the command
DFU_UPDATE_BUILD=1 BOARD=PUCKJS RELEASE make
I am not quite sure what this means and was wondering if I am building it right.
That all looks fine - did you flash the zip that's created with the steps from http://www.espruino.com/Puck.js#firmware-updates ?
Specifically the very last step with the button that clears out any saved JS.
You mentioned nrftool - did you connect directly to the board via SWD? If so you'll need to build without DFU_UPDATE_BUILD=1 and flash the resulting hex (as that'll include the bootloader)
So here are my specific steps. I am on Ubuntu 18.04, using arm-gcc version gcc-arm-none-eabi-7-2017-q4-major.
source scripts/provision.sh PUCKJS
DFU_UPDATE_BUILD=1 RELEASE=1 BOARD=PUCKJS make
This spat out an 'espruino_1v97.5_puckjs.zip' which i transferred to my phone and programmed according to the instructions using nrftoolbox app on my phone
I reset the device by removing the battery then holding the button while reinserting it. I keep it held down while the light is green.
However at this step the light turns red and stays a solid red instead of blinking all 3 leds then blinking red for a few times.
Note that I have done this exact method with the .zip from http://www.espruino.com/binaries/travis/master/
and the whole process works as expected, it seems to fail with the .zip file I make myself. Even without any modifications to the code I took directly off github.
That really is strange. What you're doing looks spot on - however I'm on ARM GCC 5.4.1 20160919 and it's possible that the newer GCC causes problems somehow.
If you uninstall ARM GCC 7 or just take it out of the path then I believe the provision script will install the GCC that we generally use, which will hopefully provide better results.
Thanks I got it working, The problem was the new GCC version. I guess for the first time in my life it WAS actually the compiler's fault.
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem