s_frit has quit [Remote host closed the connection]
s_frit has joined ##openfpga
mndza has joined ##openfpga
<pie_>
If I want to do some home automation stuff over wifi, but I want to use https://github.com/rtic-rs/cortex-m-rtic/ , does it make sense to get an esp and treat it as some sort of communications coprocessor for some other mcu with a cortex in it? I don't have much embedded experience but it can't be that hard to program some MCUs :P
<zyp>
I'm not sure how that is relevant to this channel
<zyp>
but yes, using an esp32 only to add connectivity to another device is a valid application
<LoneTech>
for an example, the Radiona ULX3S uses an ESP32 for connectivity
<LoneTech>
note: the ESP32 does not have ARM processors, it has Xtensa
<pie_>
zyp: yeah I don't usually do electronics but when I do I end up asking people here x)
<pie_>
LoneTech: yeah, I'm looking at the rust RTIC package and it seems neat, but I also want wifi, so thats why I'm looking at two MCUs, because the esp isnt supported in rtic (yet?)
<pie_>
So I want something that can do RTIC and something that can do wifi
<pie_>
but I could also just look into getting a wifi module for an arm chip.
<pie_>
Might be more educational and flexible to do the more complicated variant. The simpler one might be better for learning curve.
<zyp>
have you considered just looking for other rust libs that supports esp32?
<pie_>
Thats also an option but the I don't get to use RTIC :p
<pie_>
but yeah I should consider that, thanks. It probably crossed my mind and then I forgot while being focused on $SHINYTOYS
<pie_>
I'm looking at trying to do some dorm room automation.
<LoneTech>
https://www.adafruit.com/product/4000 ... though it feels as silly as that arduino board with a USB-capable MCU just to program the old mega328
<zyp>
in general it's more useful to pick libs based on what you want to do, rather than pick what you want to do based on what libs you want to use :)
<pie_>
Valid.
<zyp>
that said, personally I'd probably also do a similar approach -- I'm not very interested in learning the xtensa architecture and have been staying away from esp32 for that reason
<pie_>
I guess since I'm here anyway, do you have any recommended learning resources / meta-resources, or should I just look for "awesome-embedded" or something?
<LoneTech>
it's just a cpu. that architecture is best left to the compiler
<zyp>
although the esp32-c3 might change that, since it comes with a risc-v instead of xtensa
<pie_>
Wow fancy
<zyp>
LoneTech, that is assuming you can get a decent compiler toolchain for it :)
<LoneTech>
RV32IMC instruction set. so multiply and divide, and compressed instructions. not so fancy
<zyp>
last I checked the provided packages of xtensa-gcc were fairly outdated
<pie_>
I think someone mentioned something about llvm work for ESP. but maybe that's for the RISCV variant hen? I didn't look into it.
<LoneTech>
platformio seems to install gcc 5.2, which indeed is old. but what did you need from it?
<zyp>
C++20 :)
<LoneTech>
right. released yesterday and not completely supported by anything.
<zyp>
gcc10 supports pretty much everything except modules, and I've got decent gcc10.2 toolchains for both cortex-m and risc-v here
<zyp>
I have actual working code here that's using C++20 coroutines for cooperative multitasking, that have been tested on both cortex-m and risc-v
<LoneTech>
I wonder why they'd ship a particularly old gcc. it's not like xtensa support was dropped, gcc 9 at least still has it
<zyp>
probably just the effort of updating, testing and shipping, I'd guess
<zyp>
«good enough for the SDK, why bother updating»
<LoneTech>
though that doesn't need to limit platformio
<LoneTech>
debian has gcc packaged for the 8266 but not the 32
<zyp>
do they require different packages?
<zyp>
I were of the impression the cpu were the same
<LoneTech>
same brand, which doesn't mean same ISA. 8266 has LX106 and 32 has LX6
<LoneTech>
I don't know if they differ much
<zyp>
ah, right, I haven't looked that deeply into it