Most recent activity
It's happy now that it's merged. 👍
Alright, thanks, I'll have a go with a fresh download and see how it goes.
I'll put it in when I get home. I'm not really sure about the "uarte" issue though, I don't know if the change I made should be somewhere else or should be altogether different. (I'm pretty sure it shouldn't be in the SDK where I have done it though...)
jsiSetConsoleDevice was only being called once, so it looked like it's something to do with Espruino->Bluetooth rather than something weird happening with the serial or USB ports. Figured it was a buffer not being cleared somewhere so I scanned through likely files until I found a candidate. Changed this in targets/nrf5x/bluetooth.c and it came good:
uint32_t err_code = ble_nus_data_send(&m_nus, nusTxBuf, &nuxTxBufLength, m_peripheral_conn_handle);
if (err_code == NRF_SUCCESS) nuxTxBufLength=0; //<- added this line
uint32_t err_code = ble_nus_string_send(&m_nus, nusTxBuf, nuxTxBufLength);
if (err_code == NRF_SUCCESS) nuxTxBufLength=0; // everything sent Ok
Interesting. I've loaded this onto a Particle Xenon to give the nrf52840 a spin (gave up on writing stuff for it in C. Nothing wrong with the Particle stuff, I've just been spoiled by Espruino :P). I can connect via serial and use the console, then I can switch it over to USB and use it there. However, I'm also getting the lines of:
when trying the bluetooth UART. If I switch to USB, then try to connect via bluetooth, I get this instead:
I'm connecting via the Bluefruit app on Android. Having some issues getting the espruino cli talking to it at the moment, the noble module seems to have some bugs but isn't being maintained any more.
Tossing "#define NRFX_UARTE_ENABLED 0" into nrf_drv_uart.h seems to have got it working. Probably not the best way of dealing with it, but I haven't managed to narrow down where it should be...
@urish I've had a go at compiling this but I've hit a wall and was wondering if you remember whether there was something extra that you did to get it to compile? I grabbed that branch from the repo, copied all of SDK_15.0.0 into targetlibs/nrf5x_15, copied all of the micro-ecc repository into the external/micro-ecc folder and then ran make clean && BOARD=NRF52840DK RELEASE=1 make. I'm running into this:
/tmp/ccwJqUDl.ltrans0.ltrans.o: In function `nrf_drv_uart_tx':
/home/steven/projects/Espruino-NRF52840/targetlibs/nrf5x_15/integration/nrfx/legacy/nrf_drv_uart.h:516: undefined reference to `nrfx_uarte_tx'
/tmp/ccwJqUDl.ltrans0.ltrans.o: In function `nrf_drv_uart_tx_abort':
/home/steven/projects/Espruino-NRF52840/targetlibs/nrf5x_15/integration/nrfx/legacy/nrf_drv_uart.h:549: undefined reference to `nrfx_uarte_tx_abort'
/tmp/ccwJqUDl.ltrans9.ltrans.o: In function `nrf_drv_uart_uninit.constprop.241':
/home/steven/projects/Espruino-NRF52840/targetlibs/nrf5x_15/integration/nrfx/legacy/nrf_drv_uart.h:466: undefined reference to `nrfx_uarte_uninit'
/tmp/ccwJqUDl.ltrans9.ltrans.o: In function `nrf_drv_uart_rx.constprop.202':
/home/steven/projects/Espruino-NRF52840/targetlibs/nrf5x_15/integration/nrfx/legacy/nrf_drv_uart.h:565: undefined reference to `nrfx_uarte_rx'
/tmp/ccwJqUDl.ltrans9.ltrans.o: In function `nrf_drv_uart_init':
/home/steven/projects/Espruino-NRF52840/targetlibs/nrf5x_15/integration/nrfx/legacy/nrf_drv_uart.c:124: undefined reference to `nrfx_uarte_init'
collect2: error: ld returned 1 exit status
make/targets/ARM.make:2: recipe for target 'espruino_1v99_nrf52840.elf' failed
make: *** [espruino_1v99_nrf52840.elf] Error 1
Which isn't making sense as sdk_config.h has this:
[#define](http://forum.espruino.com/search/?q=%23define) NRFX_UARTE_ENABLED 0
[#define](http://forum.espruino.com/search/?q=%23define) NRFX_UARTE0_ENABLED 0
I don't think it's that no one's interested in boards with smd prototyping areas (or in free boards for that matter). I think there's a few other factors, you're also looking for people who:
- want to solder and not just use breadboards/jumpers
- are up for trying a non-official board
- don't need something wireless (Gordon's last three boards were all Wi-Fi/Bluetooth)
- are comfortable with flashing firmware
- don't want something tiny
- don't already have a preferred board for prototyping
- browse this forum frequently
There are probably few people fulfilling all of the above. :/
Hmm, not sure about that one. The code looks good, but the error message is indicating some of the code didn't make it, no idea why, I've never had an issue with sending code (to official boards) before. Might need @Gordon 's help. I'd recommend power cycling both your computer and the Pixl if you try again in the meantime, might be a Bluetooth connection issue.
No problem. :) Yeah, I've seen a few other people miss that before. FYI, the left side is running commands directly on the board via a console, if a module isn't on the board yet, the board can't grab it. The right side will search your code for "require" and send the modules you need to the board before uploading your code.