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
Let's use this #Blockly Demo ... And add a "Lisp" tab to show our Generated #BL602 #uLisp Code
https://github.com/AppKaki/blockly-ulisp/blob/master/demos/code/index.html#L26-L41
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/
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
Flipping the #BL602 LED on and off in a Web Browser ... With #Blockly and #uLisp!
https://lupyuen.github.io/articles/lisp?12#run-the-blockly-web-editor
Yep we can send commands from our Web Browser to #BL602 ... Just use the Web Serial API!
https://lupyuen.github.io/articles/lisp?16#web-browser-controls-bl602-with-web-serial-api
How we send a command from Web Browser to #BL602 ... With the Web Serial API
https://lupyuen.github.io/articles/lisp?17#sending-a-command-to-bl602
@lupyuen Congratulations!
@lupyuen
Awesome job.
@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.
@AmpBenzScientist Erm because "censorship" 😉
@lupyuen Your country is against Chinese influence or for it? My country is both.
@AmpBenzScientist My country is too small ... We won't dare to offend any other country sigh
@lupyuen I would say peaceful because cowards don't push boundaries in scientific advancement.
@lupyuen I don't like minesweeper irl. What are your thoughts on the SX chip problem?
@lupyuen I'm going to shave with my safety razor. Electric shavers are not acceptable for a proper shave. I will be away for the typical 15 minutes it takes to shave with a safety razor.
@lupyuen I love China and especially under Xing pin. He's done much good for the country. I think his history shows the future of China.
@lupyuen Sorry. I know almost nothing about your country. In the US we are essentially taught about our history, Russia/USSR and China.
@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.
@AmpBenzScientist
Pine isnt apple. Its hw manufacturer of early versions of google 20% and community fixes bugs. Then they produce closer approximatins to final product.
@PawelK @lupyuen My Pinephone came with no Operating System which was a good thing. I tried to get involved in porting Debian to the device but Ubuntu circle jerk crew hoarded all the code so that they could get all the glory. They got left behind and eventually had to admit that they were not releasing the code. Pine just takes existing components and combines them into a product.
@AmpBenzScientist
You still have that mobilka?
@AmpBenzScientist
My best guess is lineageos purism or grapheneos. I hear your critique but they risk something too and we can get best of two worlds. They release beta community fixes it either they release fixed one and become superstar or we do. In their model sane corpos can cooperate with fossworld. Lets try out that model.
@PawelK @lupyuen Someone built a working Linux cellphone with a BeagleBone Black before Purism made its device. The Pinephone is not the first Linux Smartphone, that would be the Openmoko. The Pinebook wasn't the first arm powered Linux laptop, the Chromebook was. Pine needs to have a leadership change. I don't see a real future for the company as they were not much better than Orange Pi. The best company was NTC. They broke barriers and should still be referenced to this day.
@AmpBenzScientist
Think of pine as kind of seed capital sponsoring and manufacturing prototypes.
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