#include <stdint.h>
#include <rom/ets_sys.h>
#define GPIO_OUT_REG (*(volatile uint32_t*)0x3FF44004)
#define GPIO_OE_REG (*(volatile uint32_t*)0x3FF44020)
void delay_ms(uint32_t ms) {
while (ms--) {
ets_delay_us(1000);
}
}
void app_main(void) {
// Enable GPIO4 and GPIO5 as outputs
GPIO_OE_REG |= (1u << 4) | (1u << 5);
uint32_t tick = 0;
while (1) {
delay_ms(250);
tick++;
// GPIO4 -> 2 Hz
GPIO_OUT_REG ^= (1u << 4);
// GPIO5 -> 1 Hz
if (tick % 2 == 0) {
GPIO_OUT_REG ^= (1u << 5);
}
}
}