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/
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
@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?
@AmpBenzScientist Hmmm I'm a bit too distracted right now ... Gotta write up about Lisp on BL602 ... Then test the Pine64 LoRa Gateway.
I guess SX1262 works for now, even though it seems suboptimal
@lupyuen Just got done shaving with the safety razor and I finished it by shaving with the foil shaver. I don't think I've ever had such a close shave. I still need to clean and care for the shaver. The things we do to be accepted by society.
@lupyuen I will look into the SX1262 and SX1276 datasheets and report back if I find something and have a good idea.
@lupyuen The SX1276 has a lower power usage during transmission except for PA_Boost being used. At 13dbi it typically draws 29mA while the SX1262 is 45mA at 14dbi in the higher frequency range. It's 32mA at the same strength in in low frequency.
The SX1262 with 22dbi will draw 118mA in the high frequency mode. Keep in mind that is "typical". My EVBV1.1 was using 98mA.
@lupyuen I think that's per transmission and it seems that the SX1262 does this more often. 32.768kbps vs 62.5kbps in Lora mode. These transponders are quite different from each other. I would not recommend using the BL602 as anything other than a controller for this. The transmission power would be better supplied from a battery source.
They have the same frequency deviation but the increased transmission might make it less detectable to most SDRs. The deviation is programmable and 200khz.
@lupyuen DC-DC mode is used for the IC core but the PA is supplied from VBAT. This should be 3.3V for 22+dbi and can be configured with the LDO by connecting VDD_IN + VBAT and ensuring that the voltage is correct. This simplifies the circuit.
I can only assume that the transceiver wasn't getting the optimal voltage from the SDR graphing. Perhaps the weak strength and repeated lower strength sections were from sub or over 3.3V power and the sectors that were weaker are evidence that a component used more power than it did during the other areas. I would say that it's not the correct voltage from what I've seen.
@AmpBenzScientist Hmmm our RFM90 module doesn't expose the VDD_IN from SX1262...
https://github.com/lupyuen/bl_iot_sdk/releases/download/v9.0.0/RFM90.pdf
Maybe we put this on hold? I need to take this up with Pine64 before they start selling it π
@lupyuen It would be nice to have a product that doesn't have hardware bugs.
@AmpBenzScientist Aha! Remember "Much of the #OpenSource world is critically underfunded yet critically important"?
It's tough to get exactly what we want in open source ... Because people like me aren't being paid to do this π
@lupyuen
Amp Serious question. How much is fixing this bug worth? I have evil plan.
@ProfLup well look for funding of You and some others but let me work first. Money loves silence.
@AmpBenzScientist
They produce betas. They are just intermediate phase. Theres place for everyone in the foodchain. Pie is large enough.
@AmpBenzScientist #OpenSource #IoT is particularly challenging because we need someone who understands...
(1) Microcontroller (BL602)
(2) Network Transceiver (RFM90 / SX1262)
(3) RF, Power Amplifier, Antenna (plus SDR for debugging)
(4) Network Drivers (SX1262, LoRaWAN)
(5) RTOS (FreeRTOS)
(6) Network Gateway (ChirpStack / LoRaWAN)
(7) Network Cloud (The Things Network)
And do this all for free! ;-)
That's why I had to take a short break with Lisp and get the LoRa stuff out of my system for a while...
@lupyuen If I was guaranteed a career from doing that, I could do it. I get turned down due to not having the proper degree. I just got done with RE on the blobs from the Cube. I was doing it to help and also a metric for comparison of Ghidra against IDA. I can program but I hardly ever get the chance to.
@AmpBenzScientist Why not work for Pine64? π
@lupyuen
Degrees dont matter much in foss cybersecu and some other worlds at least as long as shortage of based ppl is huge.
I suck at sw devel but i had 15y of experience lots of fun and retired round 40 and yours truly is dropout too.
See merit based hr and recruiting.
Objectively speaking if one is exceptionally good, degree wont break him. On other hand if you suck, no degree will fix you.
Be supergood in what you do and look for ways to impress people with what you achieved and eventually ppl will learn about your skills and then you will have too many offers to choose from.
Just be supergood and believe in yourself.
My friend who is bigshot ceo now in us and has some 3 degrees from eastblock and fled pre89 when came to us was unknown. He sent 500 cvs maybe to get where he is. Knock and you will be listened to.
@lupyuen If that includes Shenzhen, I would be interested. It would be nice to start over.
@AmpBenzScientist Yep Shenzhen might be possible for Pine64. PM me with your rΓ©sumΓ© and I'll send it to the boss π
@lupyuen I would have hoped that their "engineers" could actually Engineer.
@AmpBenzScientist Ah but the RFM90 engineer might not know how to connect the LoRa module to a LoRaWAN Gateway ... And how to write a proper driver that sets the power amplifier correctly ... They'll just say "refer to the specs" π
@lupyuen There are plenty more of these jokes I would like to make but I don't want to go through the catalogue of devices. Or Samsung engineers who made sure that devices could charge safely and properly manage Lithium batteries. That's a good one because it includes laptops, cellphones and tablets from different generations.
@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
If hw isnt unfixable id like to play with lineageos on it if you allowed etc. Or you can for yourself.
@AmpBenzScientist
Is braveheart os or distro or pp version?
@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.
@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 π€