New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ERROR: JshPinState #defines have changed, please update pinStateToString() #929
Comments
seems to be something complete went wrong with my build and flashed image ...... |
|
a reboot() lead to a multiple resets and starts without pinMode()
|
a reset(); returns with default pinmode settings
|
what is missing ? |
@gfwilliams yes - make clean does not fix this - please a ESP8266 label |
@tve any idea ? |
Are you trying to compile master? Have you made changes? I've never seen this but I also haven't updated by fork to master since the 1.87 release. I'd need more info on how to repro. |
hmm - just did a new clone of master, flashed, serial connect and power up - same behavior
|
more infos about build:
|
Question: why is require("ESP8266").reboot() and reset() different in terms of pinMode ? |
flashed 1v89 but still get this error on powerup or reboot ......
can someone please explain what this is about ? |
What version of GCC are you using? |
xtensa-lx106-elf-gcc-4.8.2 |
When flashing did you fully erase the chip? And does it work with the online compiled binaries that Espruino Travis creates? |
no fully erase - using wiflash.sh same result if flashing with travis build espruino_1v89.7_esp8266.tgz |
Does it work with past version of espruino or none? I would try a few from various times. If it works with none of the precomputed binaries then there is some problem with the hardware you're using or method of flashing. I know that PuckJS (nrf52832) is the main new development and there could be incompatibilities in these newer builds with other hardware, which will be fixed in time if that's the case.. |
fully erase and flashed with 1v85, 1v86, 1v87 - see the results below 1v85.138 Copyright 2016 G.Williams
1v86.185 Copyright 2016 G.Williams
1v87 Copyright 2016 G.Williams
|
I think that first block of gibberish is from the esp8266 chip bootloader core that comes out at a different baud rate than the 9600 Espruino uses, I forget if it's 115200 or some other, you can look it up though. When I have flashed ESP8266 chips in the past I have had similar issues, I think what ended up working for me was using the node MCU flasher tool GUI and then flashing with my espruino code after. I am not entirely sure what the nodeMCU tool does. I used esptool.py for the actual flashing. But I am not sure that's what's going on with your problem.. I can try flash one of the recent builds later. |
Just search for pinStateToString: Espruino/targets/esp8266/jshardware.c Line 304 in 6da2ddd
it's trying to convert the enum defined here: https://github.com/espruino/Espruino/blob/master/src/jshardware.h#L102 into strings - but it's just an array, so if the enums change then it'll get upset. Just copy the enum names into that array in order and you'll be sorted. |
This has been added: So:
Add:
|
@wilberforce - thanks - I will test and create a pull request in the next days |
created pull request #992 |
I have the same problem with the precompiled binaries (1v90) from the Espruino website.
|
@MaBecker : Thanks for the hint. Will the pull request go upstream? Or is it a speciality of the ESP8266? |
I started to compile Espruino on my own (SDK including cross-compiler, compiling espruino) but I got stuck while compiling Espruino:
@MaBecker : Would you mind to share your binaries? |
I'm seeing a similar error with Onewire and DS18B20. After only a few cycles board resets and console offers the same error message "ERROR: JshPinState #defines have changed, please update pinStateToString()". Using 1.89 firmware on ESP8266. |
let me know if this works for you |
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_freq 80m --flash_mode qio --flash_size 32m 0x0000 "boot_v1.6.bin" 0x1000 espruino_esp8266_user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin So your espruino_1v89.2053_esp8266 seems to be ok. I get the same issue as @avanc using espruino_1v90_esp8266 downloaded from espruino site. |
The patched version 1v89.2053 works on my board. @MaBecker : Thanks, you saved my weekend. |
It seems that I have to dig a little bit deeper what the patch is doing. If I'm not wrong I need GPIO5 to activate the relay. However, GPIO5 is always low (I tried digitalWrite(D5,true) ). I Also tried opendrain_pullup. On the other hand, GPIO12 works as expected. I now saw that something changed with GPIO5 using the patch. So I'm curious what the patch is doing. |
got it working with a new clone, sdk 1.5.x and 2.0.x for 1v89 and 1v90 |
Message during boot on ESP board:
"VERSION": "1v87.1711",
"BUILD_DATE": "Sep 26 2016",
"BUILD_TIME": "20:13:17",
"GIT_COMMIT": "351e779cdcd997753720d31f2a8e41a6ae8b221d",
build options:
RELEASE=1,EMBEDDED=1, USE_NET=1, USE_TELNET=1,USE_GRAPHICS=1, and SDK 2.0
and dump() after reboot does not show any pinMode settings anymore,
The text was updated successfully, but these errors were encountered: