Ugh, I'm running a bit aground... The first "fun" part was that anything in wwd includes the rest of the world's .h files. I've mostly navigated that part, I think. Now I'm stuck in the platform hardware access code. The theory, as Gordon writes so nicely, sounds great: "As far as I could tell from what I'd read, the actual WiFi bolts on over the SDIO peripheral, so you'd hope that WICED could grab control of that without interfering with the existing STM32 code Espruino has." This is in fact a great example. There's a WICED/platform/MCU/STM32F4xx/peripherals/platform_gpio.c file with the primitives to take control of a gpio pin. Stuff like platform_gpio_output_high is easy to translate or could even be left as-is. But then comes platform_gpio_irq_enable, which ties into FreeRTOS, and on top of that, since there's only one interrupt routine for gpio pins as far as I can tell, well, it just defines that. Looks like I can't really make progress without rolling up my sleeves and writing out all the shims I need, after I understand how Espruino handles all this and what FreeRTOS expects. Sigh.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Ugh, I'm running a bit aground... The first "fun" part was that anything in wwd includes the rest of the world's .h files. I've mostly navigated that part, I think. Now I'm stuck in the platform hardware access code. The theory, as Gordon writes so nicely, sounds great: "As far as I could tell from what I'd read, the actual WiFi bolts on over the SDIO peripheral, so you'd hope that WICED could grab control of that without interfering with the existing STM32 code Espruino has." This is in fact a great example. There's a
WICED/platform/MCU/STM32F4xx/peripherals/platform_gpio.c
file with the primitives to take control of a gpio pin. Stuff likeplatform_gpio_output_high
is easy to translate or could even be left as-is. But then comesplatform_gpio_irq_enable
, which ties into FreeRTOS, and on top of that, since there's only one interrupt routine for gpio pins as far as I can tell, well, it just defines that. Looks like I can't really make progress without rolling up my sleeves and writing out all the shims I need, after I understand how Espruino handles all this and what FreeRTOS expects. Sigh.