Online community http://www.esp8266.com supporting all aspects of the ESP8266 and ESP8266EX
For more info see our wiki https://github.com/esp8266/esp8266-wiki/wiki
Check out the code examples in https://github.com/esp8266/source-code-examples
Basic Interpreter for the ESP8266
Home Page: http://esp8266basic.com
Online community http://www.esp8266.com supporting all aspects of the ESP8266 and ESP8266EX
For more info see our wiki https://github.com/esp8266/esp8266-wiki/wiki
Check out the code examples in https://github.com/esp8266/source-code-examples
For I2C mode, in begin() in SFE_MicroOLED.cpp, dcPin is being configured (pinMode etc) even though it is not defined or otherwise used. Default value of 0 for dcPin means pin 0 is being spuriously configured.
I have saved a BASIC code script which causes the ESP8266 to become unresponsive. (This may be a tight loop or bad syntax - code was incomplete when I accidentally hit save.) ESP now starts up, runs code and becomes unresponsive on web interface. Reflashing BASIC interpretor does not fix, presumably because this does not clear the BASIC program memory so the bad code persists.
It may be advantageous to clear program memory when flashing device, or at least offer option to do so.
This is not a issue really (as in doesn't affect the code), but I think that should be fixed to improve readability.
Humorous examples (a selection of the best ones):
GetRidOfurlCharacters
WhatIwillReturn
GetMeThatVar
Serious typos found:
GraphicsEliments
PinDesignaor
VarialbeLookup
Dear maintainer:
What about using global Find and Replace dialog of your favorite text editor to fix these things?
๐
Go to IDE
Select a file in File Manager and click File Manager Edit button or just go to Editor and enter a filename then click Editor Open button
Go to end of file and you will notice that a blank line has been appended.
Click Save, Click Open and go to end of file and another blank line has been appended. This occurs repeatedly.
This bug is repeatable.
Hi! I've noticed that there are only three print commands:
But I would like to have a web only print command:
Is that easily factible?
See example below:
print "ESP Basic 3.0.Alpha 69"
' let define some control character
let NUL = chr(0) 'required
let SOH = chr(1) 'can be any
let STX = chr(2) 'can be any
print "correct with any combitation of control char but the NUL"
let s = SOH & STX
print asc(left(s,1))
print asc(right(s,1))
print "wrong if NUL is part of the string"
let s = NUL & STX
print asc(left(s,1))
print asc(right(s,1))
These options would be great.
Hello Everybody,
I have try to compile the espBasic but get errors for header files since I don't have clue about where to put the folder. I already have EspArduino working. Also I tried uLisp that work as well.
Is there a documentation, pointer or directions on how to compile espBasic either from command line or using Arduino IDE? I think something like folder layout will be help. I have tried ==> Hardware/esp8266.com/esp8266/ espBasic but this does not work. Please help!
God blesses!!!
Best regards,
Sanyaade
//#include <WiFiUdp.h>
//LCD Stuff
//PS2 Key Board
i have only a few of these .h files after installing the ArduinoIDE + esp8266 borads patch in a json format file.
hi, I'm using my esp8266 module as a TCP server. when sending data from multiple client devices it oftenly shows data missing, In that cases +ipd is missing in my received data. expecting your valuable suggetions and solutions on this issue.
My settings are as follows:
AT+CWMODE=1
AT+CWDHCP=0,0
AT+CIPSTA="STA_IP","GATEWAY","SUBNET MASK"
AT+CWJAP="SSID","PASS_WORD"
AT+CIPMUX=1
AT+CIPSERVER=1,2000 I'M USING PORT 2000
AT+CIPSTO=0
AFTER the setting starts connect to the device from client and sends data.. the +ipd missing occures when data receives frommultiple clients...........please help me to resolve this issue...
Hi! Could you say me what problem are you facing with my PR?
I am trying to reproduce the compiling process. My setup is:
Arduino 1.6.5 (previous experience with ESPEasy taught me to stick to this version, please advice if this was a wrong supposition)
ESP82666 v2.0
Board ESP Node MCU v0.9
Installed all libraries included in the current repository
It does compile. But when starting, it shows on the terminal that it is logged in into the local LAN. Address is something like 192.168.10.104. By either accessing this or accessing the 192.168.4.1, the system makes a dump and reboots itself.
Please advice
What about adding a small CSS to the web interface to make it look better?
This fix the problem linked to the pins referenced as number or name 'D3' or 0, for example
Rename the following .txt to zip before
For parasite mode, while waiting for conversion to take place, the oneWire pin needs to be set as an output (high) and then set back as input before reading back the temperature(s). This is true even for just one device on the oneWire bus. Maybe not true for all esp8266 modules but certainly the case for mine (Adafruit Huzzah)
This fix will permit to correct the behaviour of the for next loop
Each argument can be now an expression.
Example :
let a = 10
let b = 20
let c = 30
for i = a/2 to b+c step c/30
print i
next i
Classes.zip
Just installed version 1.68 (Tired both 1MB and 512k version on ESP8266-1 with 1MB flash)
I was able to connect to it via WiFi (SSID=ESP) and browser able to access 192.168.4.1. However I was not able to save config. Tried to hit "Format" button, it just print "1", tried to save but getting "File Open Failed"
I have also tried to use "EDIT" then save, I get the same error too. Looks like File System access is broken at the moment?
I have putty connected at 9600 BAUD and these are the output.
SP Basic 1.68
1
2
3
4
5
6
7
8
9
10
11
12
Failed Wifi Connect
Creating WIFI access point
ESP
APname
file open failed
APpass
file open failed
Starting Default Program
Done...
WIFIname <-- trying to save config
file open failed
WIFIpass
file open failed
APname
file open failed
APpass
file open failed
LoginKey
file open failed
ShowMenueBar
file open failed
otaUrl
file open failed
Formating <-- Trying to "Format"
1Formating <-- and again
1WIFIname
file open failed
WIFIpass
file open failed
APname
file open failed
APpass
file open failed
LoginKey
file open failed
ShowMenueBar
file open failed
.......
Done...
default/1 <--- trying to save the text in "Edit" window
file open failed
default/2
file open failed
default/3
file open failed
On a side note. For some interesting reasons, when I use ESP_Basic_Flasher.exe to flash, my ESP8266 seems unstable and will crash randomly and reboot. But if I flash ESP8266Basic.cpp.bin manually using ESP8266Flasher.exe seems more stable (no crash yet, other than first boot)
It would be advantageous to be able to download the documentation. It would further be advantageous to be able to contribute updates / corrections to the documentation. These two may be facilitated by hosting the documentation within a github repository, maybe the same repository as the source code.
When a user configures the ESP8266 as an access point and connects to it to program in BASIC, the user may lose Internet connection which in turn loses access to documentation, hence the advantage of an off-line copy.
It may be advantageous to offer the ability to bundle the documentation in to the ESP8266 BASIC web interface but this may use up too much device storage.
Hi! I've read a post on a blog saying that the use of Arduino String
class is a bad idea. Wouldn't be better to replace them by char
and char*
?
The server will recognize these file URL as invalid URL and execute the currently opened basic file(same as 192.168.4.1/). With this problem, these editor css/js files will not load and will also cause unwanted code execution.
When I press the same button on the keyboard, sometimes another letter will appear on the Serial Output.
I have connected the Keyboard directly to the ESP Pins 34,35 and to VIN (5V) and GND.
Do I need some Levelshifter or will this not help?
Hi! I think that this basic interpreter lacks a cool feature. What about changing serial port baud rate? Wouldn't be hard to implement a baudrate {integer}
command, no?
Running the MSG URL explains the msgreturn always returns "No MSG Branch Defined"
Simply add one "delay x" statement to the above example, like this:
msgbranch [mybranch]
print "set the branch"
wait
[mybranch]
myColorVar = msgget("color")
print myColorVar
delay 10 ' JUST ADD THIS LINE
let myReturnMsg = "You Entered " & myColorVar
msgreturn myReturnMsg
wait
Originally posted by @gdelconti in #26 (comment)
Mike,
you will find here the new function included into a sample of commands.ino.
you can refer to 3 commands done as example :
testparam that will print the parameters; you can use it to understand and check how the splitter works
slider
button
Commands.zip.txt
remove the txt from the file as it's a zip
I can not see a way to implement a NTP client. NTP client is not a documented feature and the UDP implementation only supports string handling. The NTP message consists of a 384 bit or 48 byte data structure containing 17 fields which require raw data, not string. There is a nice (simple) guide to implementing a NTP client here: https://lettier.github.io/posts/2016-04-26-lets-make-a-ntp-client-in-c.html.
library expression_parser_string.h not uploaded
Seems like a lot of potential in this project. Is anybody continuing the work on another fork. The last work on this seems to have been 2016. I may be willing to contribute some dollars to current work contact me I am actually more interested in getting the efficiency of the bascom basic compiler ported to the ESP32. The Bascom compiler produced incredibly efficient code that could run on very small chips so it should have tons of space available on the ESP32.
Never mind....
Descriptions are needed of current Editor Interface Screen options.
A ESP8266 Basic Reference is required for more than just the language.
When the pin 16 is used with the command po 16 0 or po 16 1, the ESP basic crashes.
After some check I found that the bug comes from the declaration of these 2 arrays in ESP8266Basic.ino.
The lines are 401 and 402 :
String PinListOfStatus[16];
int PinListOfStatusValues[16];
The index should be 17 because the pins goes from 0 to 16 (so 17 elements).
The lines should be :
String PinListOfStatus[17]; // 0 to 16 - fix the po 16 0 crash
int PinListOfStatusValues[17]; // 0 to 16
chr():
Will return a character for the given number.
Bla = chr({string or var name}) -> SHOULD BE: Bla = chr({value or var name})
int():
Will return an integer value.
int({string or var name}) -> SHOULD BE: int({value or var name})
oct():
Will return the oct value of an integer.
oct({string or var name}) -> SHOULD BE: oct({value or var name})
hex():
Will return the hex value of an integer.
An optional 2nd argument define the number of digits
hex({string or var name},{nb_of_digits}) -> SHOULD BE: hex({value or var name},{nb_of_digits})
As displayed:
ESP Basic 3.0.Alpha 69
MAC: 1A:FE:34:9B:2F:00
Real MAC as seen by DHCP server:
192.168.2.8 18:FE:34:9B:2F:00
I think that the code should be cleaner and also observe these rules:
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.