As Espruino continues along the path of the ubiquitous IoT device explosion, those in the community battle with the decision on how much of their free time to spend assisting fledgling new Original Espruino board purchasers, those with an eager desire to get started. The following are observations I have made since my introduction to Espruino.
There are an exceptional amount of web site tutorials and code examples,
Many community contributors are willing to assist, giving up their valuable time freely, to get others up and running. We each remember those initial days and you can benefit from their experience. Remember that @Gordon started initially with just an idea. A fleeting thought to solve an existing problem. Imagine the struggle from that initial concept, to the explosion of new users with the myriad of Espruino devices! You, newly introduced to running Javascript on a microcontroller, are building on that success. But maybe, there might be an area where all the pieces don't seem to fit. Here is where the forum will be the tool to get the answer to get up and running quickly.
EDIT: Other items to check before making that post: See explanation from @Gordon #4 below.
The Mozilla Developer Network 'MDN' reference along with w3c.org standards are the places to go to understand the language specifics, while W3Schools has a nice interactive try before coding editor-viewer.
Still at a crossroads? Then by all means create your request:
An effective forum post would include the following:
As a suggestion:
Create a detailed specific title - beneath the correct forum heading
Describe the situation in a sentence or two
Post the link to the tutorial or example
Post the link to the datasheet for the specifc module or chip
Post the results of process.env so that viewers can better visualize the environment
Post your code - Entire code block please - See #2 @AkosLukacs suggestion post
Post the error(s) as seen in the L-Hand console side of the IDE
Describe the efforts that have been attempted
An image will assist - A picture is worth a thousand words
Having all of the above will reduce the back-n-forth need to get at the real issue quickly. Having to wait days or weeks for the supporter to gather enough information to get at the source of the issue will greatly reduce the time involvement by building a complete effective foundation first. Correctly placing the initial post will save the moderator valuable time not having to relocate to the appropriate location. 'Other Boards' means just that, non Original Espruino boards.
Create a detailed specific title
There are many community contributors that each has a specialty that is willing to assist. But, just having a title, such as 'Software Issue' most likely won't draw the attention of that specific individual for your particular situation. Wasting the time of the reader opening an un-related post is frustrating for all.
Post the results of process.env
Remember that the viewer is not a mind reader. Having this tidbit will allow that reader to better visualize what the environment is like. That might assist in splitting between a software issue and a hardware one.
Hint: Use the Greater Than symbol > preceding the first character in a line to highlight gray.
Hint: To highlight a code word as in the above heading, surround the code word with a valid Html element pair < code > process.env < / code > to produce process.env
Note that spaces were used to allow correct rendering here
Additional help in formatting may be found using the 'Formatting help' link, just adjacent to the Cancel button, at the bottom of the edit window.
Post your code
EDIT: . . . or create a gist as explained by @MaBe in post #3 below
Hint: Using the '</>Code' button just to the left of the 'Preview' button above the edit window will allow the block and error responses to have additional highlighting, making reading much easier. Line numbers allow others to easily reference a specific code entry.
Example code block:
var intervalID = {};
function ci() { clearInterval( intervalID ); }
// msec
var delay = 500;
var nTimes = 6;
function startTimer() {
var toggle = false;
intervalID = setInterval(function () {
Serial1.write([0xB5,0x62,0x0A,0x04,0x00,0x00,0x0E,0x34]);
digitalWrite(D14,toggle);
toggle = toggle ? false : true;
}, delay);
}
Unrelated error examples:
debug>p status
=undefined
Uncaught ReferenceError: "status" is not defined
at line 1 col 3
Uncaught Error: Cannot read property 'length' of undefined
at line 4 col 228
..."+typeof strr+" len: "+strr.length);console.log("Free: "+pro...
Please, please don't be overly concerned about the quality of the code posting. Everyone has their own style and others may pick up on a newly discovered technique. Resolving a code block style early will speed up the observation of syntax and programming issues, providing for speedier future development.
Also, don't worry about line numbers if posting a subsequent code snippet. We are not using Basic with a GoTo: statement. ;-)
Review
To get an effective response, please remember to review your post, from the point of view, as will be seen by the reader. No one I know is a mind reader, so having complete and concise content will aid those willing to provide their assistance. Also consider staying the course with follow-up. Those of us that provide that assistance would like to know of your success. So will others that may have the exact same issue as yours.
As a suggestion, post the date. I've seen that up to fifty percent of postings have been resolved as soon as the most recent version of Espruino has been flashed. Having that version and the current date will allow those with a bit of experience to clue in on a possible area of contention.
While waiting a response
Remember to be patient, as most are giving their time freely. Search for online content as others most likely have had the same issue previously. Using the search box on the Espruino website might return links when the exact subject or specific board is known. If not, remember that Google is your friend here. Launch a new Google page instance and type a concise request using the 'site:' keyword qualifier. Google search something like:
how to illuminate the onboard LED for Pico site:espruino.com
New interpreter error: FIFO_FULL site:forum.espruino.com
Remember to stay active and follow-up timely. A simple thank you goes a long way.
End-user and two-year supporter of Original Espruino boards (circa January 2017)
P.S. Thank you for supporting the Espruino community with the purchase of an Authentic Espruino board
Edits:
Sun 2020.02.02 Added Bangle.js reference link
Sat 2020.02.29 Added links to online translate sites
Fri 2020.03.20 Added link for Bangle troubleshooting
Sat 2020.09.19 Added insight to locate Espruino source code
Tue 2020.09.22 Added three WebIDE possible links
Tue 2020.12.08 Added instructions to locate Bangle app source
Sun 2021.01.03 Added Mozilla MDN, W3Schools, and W3C links
Wed 2021.03.31 Added Reference Page links for Internals, Performance & Quick Start BLE
Fri 2021.08.27 Added Which Bangle hardware version do I have
Sat 2021.08.28 Added Fonts and Font source links
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
English not your native language? Make use of these online tools:
Mon 2019.06.10
As Espruino continues along the path of the ubiquitous IoT device explosion, those in the community battle with the decision on how much of their free time to spend assisting fledgling new Original Espruino board purchasers, those with an eager desire to get started. The following are observations I have made since my introduction to Espruino.
There are an exceptional amount of web site tutorials and code examples,
but at times, one may be well, . . . just stuck.
Many community contributors are willing to assist, giving up their valuable time freely, to get others up and running. We each remember those initial days and you can benefit from their experience. Remember that @Gordon started initially with just an idea. A fleeting thought to solve an existing problem. Imagine the struggle from that initial concept, to the explosion of new users with the myriad of Espruino devices! You, newly introduced to running Javascript on a microcontroller, are building on that success. But maybe, there might be an area where all the pieces don't seem to fit. Here is where the forum will be the tool to get the answer to get up and running quickly.
As a consideration:
Try updating your firmware to the latest version
Same symptoms in online vs native WebIDE?
ref: http://forum.espruino.com/conversations/353971/#comment15529342
Three WebIDE variants
Struggles with Bluetooth and Windows10
Try connecting with a different device, such as an Android Phone
Reboot Windows10 Cold Start
for step-by-step recovery when device now doesn't reliably connect.
Common 'Gotchas'
Bangle specific
Emulator
Which Bangle hardware version do I have?
Bangle.js 2 only has a single button, while the original standard Bangle has 3 buttons
Steps to locate Fonts source code (in this case the Font7x11Numeric7Seg font)
Typing 'Fonts' into the Search field at the upper right of most Espruino pages.
Noting that right clicking on almost every listed font takes one to:
Searching that list finds the desired Font7x11Numeric7Seg font.
Steps to locate Espruino source code (in this case the embedded WiFi module source)
Locate and click the Right Facing arrow adjacent to the heading, which takes one to:
Back up the tree in order to locate source code for other functions
Steps to locate Bangle app source code: (in this case the touch event within 'Touch Launcher' app source)
Find the 'GitHub' icon to the left below app title 'Touch Launcher' and R-Click open which will take you to: [Line 230]
and in addition have these excellent pages been reviewed?
Javascript Language Reference
The Mozilla Developer Network 'MDN' reference along with w3c.org standards are the places to go to understand the language specifics, while W3Schools has a nice interactive try before coding editor-viewer.
Still at a crossroads? Then by all means create your request:
An effective forum post would include the following:
As a suggestion:
process.env
so that viewers can better visualize the environmentHaving all of the above will reduce the back-n-forth need to get at the real issue quickly. Having to wait days or weeks for the supporter to gather enough information to get at the source of the issue will greatly reduce the time involvement by building a complete effective foundation first. Correctly placing the initial post will save the moderator valuable time not having to relocate to the appropriate location. 'Other Boards' means just that, non Original Espruino boards.
Create a detailed specific title
There are many community contributors that each has a specialty that is willing to assist. But, just having a title, such as 'Software Issue' most likely won't draw the attention of that specific individual for your particular situation. Wasting the time of the reader opening an un-related post is frustrating for all.
Post the results of
process.env
Remember that the viewer is not a mind reader. Having this tidbit will allow that reader to better visualize what the environment is like. That might assist in splitting between a software issue and a hardware one.
Hint: Use the Greater Than symbol
>
preceding the first character in a line to highlight gray.Hint: To highlight a code word as in the above heading, surround the code word with a valid Html element pair < code > process.env < / code > to produce
process.env
Additional help in formatting may be found using the 'Formatting help' link, just adjacent to the Cancel button, at the bottom of the edit window.
Post your code
Hint: Using the '</>Code' button just to the left of the 'Preview' button above the edit window will allow the block and error responses to have additional highlighting, making reading much easier. Line numbers allow others to easily reference a specific code entry.
Example code block:
Unrelated error examples:
Please, please don't be overly concerned about the quality of the code posting. Everyone has their own style and others may pick up on a newly discovered technique. Resolving a code block style early will speed up the observation of syntax and programming issues, providing for speedier future development.
Also, don't worry about line numbers if posting a subsequent code snippet. We are not using Basic with a GoTo: statement. ;-)
Review
To get an effective response, please remember to review your post, from the point of view, as will be seen by the reader. No one I know is a mind reader, so having complete and concise content will aid those willing to provide their assistance. Also consider staying the course with follow-up. Those of us that provide that assistance would like to know of your success. So will others that may have the exact same issue as yours.
As a suggestion, post the date. I've seen that up to fifty percent of postings have been resolved as soon as the most recent version of Espruino has been flashed. Having that version and the current date will allow those with a bit of experience to clue in on a possible area of contention.
While waiting a response
Remember to be patient, as most are giving their time freely. Search for online content as others most likely have had the same issue previously. Using the search box on the Espruino website might return links when the exact subject or specific board is known. If not, remember that Google is your friend here. Launch a new Google page instance and type a concise request using the 'site:' keyword qualifier. Google search something like:
Remember to stay active and follow-up timely. A simple thank you goes a long way.
@Robin
P.S. Thank you for supporting the Espruino community with the purchase of an Authentic Espruino board
Copyright 2019 ©