Porting #MicroLisp to #RISCV #BL602 looks easy 🤔
https://github.com/technoblogy/ulisp-esp/blob/master/ulisp-esp.ino
MicroLisp Interpreter, I2C, SPI, WiFi and Graphics ... All in a single C source file amazing 🤔
https://github.com/technoblogy/ulisp-esp/blob/master/ulisp-esp.ino
Maybe we wrap up the #MicroLisp code in a graphical program like Scratch / Blockly? 🤔
https://developers.google.com/blockly/guides/get-started/web
#uLisp Interpreter on #RISCV #BL602 brings back memories 🥲 ... Let's do uLisp Blinky next!
https://github.com/lupyuen/bl_iot_sdk/tree/ulisp/customer_app/sdk_app_ulisp
Why are they called CAR and CDR in #Lisp? Here's why
#Lisp is Not Dead Yet! We still see bits of Lisp today in #WebAssembly ... Like the Stack Machine and S-Expressions
https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_format
#uLisp on #PineCone #BL602 @PINE64 ... Now blinks the LED yay! 🎉
https://github.com/lupyuen/bl_iot_sdk/tree/ulisp/customer_app/sdk_app_ulisp
How we modded #uLisp to call #BL602 GPIO Hardware Abstraction Layer
https://github.com/lupyuen/ulisp-bl602/blob/master/src/ulisp.c#L3536-L3554
Let's run this #uLisp Blinky Function on #BL602
https://github.com/lupyuen/bl_iot_sdk/tree/ulisp/customer_app/sdk_app_ulisp
#Blockly (Scratch) needs a Code Generator for each language ... So we copy the Dart generator, paste it as Lisp ... And tweak the Lisp generator for #BL602 🛠️
https://github.com/AppKaki/blockly-ulisp/blob/master/generators/lisp/loops.js#L48-L60
Previously we've done a #Blockly Code Generator for Embedded #RustLang ... But it got complicated because of Type Inference ... Lisp should be simpler, I think 🤔
https://lupyuen.github.io/articles/advanced-topics-for-visual-embedded-rust-programming
Drag-n-drop #BL602 #uLisp Blinky with these blocks ... Code Generator coming soon ... Try it for yourself here: https://appkaki.github.io/blockly-ulisp/demos/code/
Can we transfer the generated #uLisp Script to #BL602 over Web Serial API? 🤔
https://dev.to/unjavascripter/the-amazing-powers-of-the-web-web-serial-api-3ilc
Yep Web Serial API works with #BL602 at 2 Mbps ... Soon we shall transfer some uLisp Scripts ... From Blocky (Scratch) to BL602!
Cool new way to run #BL602 firmware without putty and CoolTerm ... Just use Web Serial Terminal!
https://lupyuen.github.io/articles/flash#watch-the-firmware-run
Sending the "reboot" command to #BL602 from a Web Browser ... Via Web Serial API
https://github.com/AppKaki/blockly-ulisp/blob/master/demos/code/code.js#L604-L653
How we build and flash the #uLisp Firmware for #BL602
https://lupyuen.github.io/articles/lisp?5#build-the-bl602-ulisp-firmware
How we enter Lisp Commands into the #BL602 #uLisp Firmware ... And why it looks like Sumikko Gurashi 角落生物 😂
https://lupyuen.github.io/articles/lisp?7#run-the-bl602-ulisp-firmware
@lupyuen
Thats the future of programming.
@lupyuen Congratulations!
@lupyuen I might have some insight into the SX1276? issue. It just occurred to me what to do.
Try using sudo and lsusb -v to measure the power being allocated to the BL602 board. I had readings of 98mA. An ammeter would work too. I don't think it's getting the power to emit more radiation.
@AmpBenzScientist Interesting... so we think BL602 might not have sufficient power for the LoRa Module?
Here's what I observed...
(1) BL602 + SX1276 seems to be emitting the right power (see the red chirp)...
https://lupyuen.github.io/articles/lora#visualise-lora-with-software-defined-radio
(2) But BL602 + SX1262 seems to be emitting much less power (the faint chirp)...
https://lupyuen.github.io/articles/lorawan#troubleshoot-lorawan
If it's a power problem, why is SX1262 affected but not SX1276 🤔
@lupyuen Frequency and the power required to generate it possibly.
@lupyuen SX1276 is the one I can't use but it's close to 1GHZ. The other uses a frequency about half of that.
@lupyuen As an American I will have scary people hunt me down and put me in the back of a van if I don't abide by FCC regulations. The SX1278 is the only one I can use. If I'm not mistaken it's 915mhz. I also live within rough sensor range of one of the largest Air Force Bases on the East Coast in the US.
@AmpBenzScientist haha it's the same in Singapore. We don't even allow Satellite Dishes 😉
@lupyuen No satellite dishes? They could mandate a mesh size for the parabolic reflector that would mitigate any potential problems for improper use.
@lupyuen It might be necessary to use a better power source for powering the SX chip.
@lupyuen
Idk but id try to do differential analysis wrt voltages or amperages etc as much as i know.
@PawelK @lupyuen These are very different transceivers. The SX1262 might take more energy but the bandwidth is closer to dial up speeds. That's almost double the SX1276. The SX1276 looks like it's losing on all levels. The transmission is a bit more sophisticated and I will need to review the SDR readings to try to better understand what is going on here.
@AmpBenzScientist
Plz reverse it for that based Prof if you can.
@PawelK @lupyuen It's just a product from Pine. I am not aware of a product they have made that has worked without a massive community effort. Pine makes hardware. The community makes the hardware work. When I got my Braveheart I thought it was broken after a couple of uses. I took it completely apart and photographed it.
It was not broken by me. The battery discharges when powered off and dies after a couple days. I found out why it was getting so hot during use and recommended thermal pads to the developers.
Lee is likely the reason why Pine didn't die. As far as I've seen, he's been involved with every product that they have made. Imagine buying a product that doesn't work at all, working to make it work and never getting paid for it. That's what we do. It's for the community, it's for the knowledge we gain and most importantly for the future.
@lupyuen@qoto.org Doesn't work for me like the idea though
@lupyuen@qoto.org might be brave adblocking being weird but nothing happened clicking the play button
@Nonetrix Yep the button doesn't do anything ... Since we don't have an emulator
@lupyuen@qoto.org oh could you use wasm for that I guess but probably would be best to do something in JS
@Nonetrix maybe that button should transmit the uLisp script to BL602 over Web Serial API 🤔
@lupyuen@qoto.org what's that I'm not very familiar with open hardware stuff if that's what it is
@Nonetrix Makecode for BBC micro:bit has an emulator in the web browser, check it out here:
Dragging-n-dropping #BL602 #uLisp Blinky ... Code Generator coming soon
https://youtu.be/B3tOkzcKPWM