particle-iot-archived/core-common-lib

Implement a common HAL layer, so that Spark Core doesn't bind to the specific MCU/WIFI module

Closed this issue · 3 comments

As far as I know, Spark Core is using STM32+CC3000. They are good. But even to make Spark Core better, it'll need to support more MCU & WIFI modules in the future, so that people will have more choice.

I think a common HAL layer or HAL APIs can be designed, so that the specific MCU & WIFI module drivers/softwares can be separated and modularized.

Actually, I can help on this in my spare time since I'm interested in Spark Core.

zsup commented

100% agreed. I would also suggest that the HAL layer should be portable across other wireless communication technologies (bluetooth, mesh, cellular), to whatever extent possible.

Would love your help with this - do you have any thoughts on the right approach? We've been considering looking into the mbed platform's HAL, because apparently they've already done some good work here.

mbed looks cool, but I'm not quite familiar with it. It's surely better to start standing on the shoulders of giants than from scratch.

Anyway I can help in my spare time, let me know what I can do.

BTW, forgot to mention, I'm a WIFI & embedded system fan, I have 5 years of work experience in these areas.

Hey @neilengineer! I'm just seeing this for the first time, as I'm cleaning up open issues and PRs! As you've probably seen, our firmware got HAL layer for all the hardware abstractions so the firmware can be targeted to radically different devices.

The firmware repo has moved over to https://github.com/spark/firmware.
You mentioned about helping out - we are always grateful for contributions!