create specific firmware online #2872
Replies: 14 comments
-
Posted at 2019-03-06 by @gfwilliams I think this is a great idea - especially as on some boards like the Original or ESP8266 it's now getting to be a squeeze to fit everything in. To work around the security issues I believe you can either use a I do wonder how many people would actually supply their own C code? It would be really hard to write new code by repeatedly uploading source code and checking for compile errors - so I guess for development it makes a lot more sense to build locally? I imagine it might be more use if there was a registry of pre-tested C code that could be compiled into Espruino? I guess if we had a separate GitHub repo for that we could at least sanity check PRs before merging them - although I really haven't seen much interest in it. If I was getting lots of contributions for new Espruino C libraries it might be different, but the only one I can remember was you wanting to add support for the P3 matrices to ESP32. Maybe in a way it's more useful to have the other features working than it is to allow custom C files and then have to worry about all the security implications? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-06 by JumJum Hmm, your feedback to userdefined C code sounds like "there is no market" So lets go back one step. The idea of predefined C code sounds good to me.
Summary, I would like to start a first version of a registry. About 3 years ago I've created a github with my extensions https://github.com/jumjum123/EspruinoExtensions c files. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-06 by @gfwilliams
That sounds like a great plan - and then some instructions on how to turn an extension as you documented in http://www.espruino.com/Extending+Espruino+1 into a PR for that repository? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-15 by JumJum As mentioned some days ago, I've created a simple dictionary for Espruino Extensions in github. In a next step I would like to do something similiar for modules.
Is there an better option ? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-15 by @gfwilliams As a start, just being able to click and select Espruino modules would be a huge bonus. If you did https://github.com/espruino/EspruinoDocs/tree/master/modules you'd want https://github.com/espruino/EspruinoDocs/tree/master/devices as well...
That is tricky - there's usually a 1:1 mapping between espruino.com/modules/filename.js and espruino.com/filename - but not always. However, I guess realistically anyone using this is going to have a good idea what they're doing? I guess in most cases you'll develop code normally, figure out what modules you want, and then build your own firmware including those modules - so not having direct links to the docs isn't a huge problem. I guess just pulling out the first comment from the head of the .js file would give a pretty good into to the module. If it didn't, we should probably update the modules to have a description :) |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-15 by JumJum quickly checked and the result is:
For now I would start with master/devices and create a *.min.js on the fly Update:Sorry, misunderstanding from my side |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-18 by @gfwilliams
Yes - although I wonder whether in future that might change. Is it possible to just use the list of files that are in http://www.espruino.com/modules/ ? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-18 by JumJum Hmmm, On the other hand, german wording "sometimes you have to jump over your own shadow", means my dislike should not stop a better solution Just one more idea, how do you create modules directory? |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-18 by JumJum One more problem, if PROJECTNAME is set, make returns On a quick test for different boards, looks like only ESP32 and ESP8266 work fine with PROJECTNAME=something |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-18 by @gfwilliams
That's odd - looking at the git commits the only mentions of PROJECTNAME for the Makefile are in lines you added, so I don't know why it wouldn't work.
Not really - there isn't a 1:1 mapping (eg. fonts - there are lots of fonts, but only one font page). The modules dir is filled using https://github.com/espruino/EspruinoDocs/blob/master/buildmodules.sh - so you could just scan But you'll still find that for certain .js files there is no .md file to go along with them - if you're going to do that, why not check whether espruino.com/MODULENAME returns a 404 or not and then link to it if it's fine. The |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-04-17 by JumJum I would like to automate upload for latest release to EFEU and checked this Found a (strange?) description, why I don't find anything for releases |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-04-17 by Ollie I thought I could offer help here as I often use this But it fails also. Maybe this is to do with it being an organisation? But then tags work fine!?! The tags JSON isn't easily sorted, I can see that. Maybe a good old fashioned web scrape of the releases page, and take the first element in the list? Not ideal. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-04-17 by JumJum My Q&U solution (Quick and Ugly) is to read tags, search for names starting with RELEASE_2V and sort by name. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-04-23 by @gfwilliams Sorry for the delay with this... Espruino doesn't use the 'releases' feature - which I believe is a way to attach binaries to GitHub projects (could be wrong here). Instead, each release is tagged (which is merely a pointer to a specific Git commit). In actual fact your quick and ugly solution is basically what I do. If you look in the Makefile you'll see:
So I get the list of tags, use any starting with |
Beta Was this translation helpful? Give feedback.
-
Posted at 2019-03-05 by JumJum
As mentioned in another chat, I'm just restarting a project to create specific firmware for Espruino.
It's in early state and will take some time.
Create specific firmware means
@gfwilliams already mentioned, that support of c-files opens a door for security issues.
AFAIK, these are mainly security issues for the server. One example is the use of
#include "/usr/passwd" in C-source
Ideas to bypass this problems are
Please give comments/feedback/experience
Hopefully somebody has some knowledge around this.
Beta Was this translation helpful? Give feedback.
All reactions