![]() |
Pico Led Controller 1.0.3
A project to control LEDs using Raspberry Pi Pico W
|
#include <stdint.h>
#include <pico/stdlib.h>
#include <pico/cyw43_arch.h>
#include <pico/multicore.h>
#include <boards/pico_w.h>
#include <hardware/pio.h>
#include <hardware/gpio.h>
#include <hardware/clocks.h>
#include <hardware/timer.h>
#include "blink_codes.h"
#include "ntp.h"
Go to the source code of this file.
Macros | |
#define | WS2812_PIN 2 |
#define | LIGHT_TOGGLE_PIN 15 |
#define | MODE_BUTTON_PIN 16 |
#define | STOP_BUTTON_PIN 17 |
#define | IS_RGBW false |
#define | DEBOUNCE_TIME_US 250000 |
Enumerations | |
enum | init_result_t { INIT_SUCCESS , STDIO_INIT_FAILURE , WIFI_INIT_FAILURE } |
Init result enum. More... | |
Functions | |
void | connect_to_wifi () |
Connect to WiFi. More... | |
void | gpio_button_irq_handler (uint gpio, uint32_t events) |
GPIO button interrupt handler. More... | |
enum init_result_t | init () |
Init. More... | |
void | run_loop () |
Run loop. More... | |
#define DEBOUNCE_TIME_US 250000 |
Definition at line 23 of file led_controller.h.
#define IS_RGBW false |
Definition at line 22 of file led_controller.h.
#define LIGHT_TOGGLE_PIN 15 |
Definition at line 19 of file led_controller.h.
#define MODE_BUTTON_PIN 16 |
Definition at line 20 of file led_controller.h.
#define STOP_BUTTON_PIN 17 |
Definition at line 21 of file led_controller.h.
#define WS2812_PIN 2 |
Definition at line 18 of file led_controller.h.
enum init_result_t |
Init result enum.
Enum for the initialization result.
Enumerator | |
---|---|
INIT_SUCCESS | |
STDIO_INIT_FAILURE | |
WIFI_INIT_FAILURE |
Definition at line 38 of file led_controller.h.
void connect_to_wifi | ( | ) |
Connect to WiFi.
Function connects to WiFi using the SSID and password defined in the wifi_credentials.h file.
Definition at line 24 of file led_controller.c.
References BLINK_CODE_WIFI_CONNECTED, and BLINK_CODE_WIFI_CONNECTING.
Referenced by main().
void gpio_button_irq_handler | ( | uint | gpio, |
uint32_t | events | ||
) |
GPIO button interrupt handler.
Function handles button interrupts setting proper flags.
Definition at line 37 of file led_controller.c.
References DEBOUNCE_TIME_US, last_press_time, light_mode_toggle_request, light_state, light_state_toggle_request, LIGHT_TOGGLE_PIN, MODE_BUTTON_PIN, light_state_t::state, STOP_BUTTON_PIN, and stop_flag.
enum init_result_t init | ( | ) |
Init.
Function initializes the LED controller.
Definition at line 37 of file led_controller.c.
Referenced by main().
void run_loop | ( | ) |
Run loop.
Function runs the main loop of the LED controller.
Definition at line 119 of file led_controller.c.
References apply_breathing_effect(), apply_flashing_effect(), apply_rainbow_cycle_effect(), apply_rainbow_wheel_effect(), light_state_t::brightness, get_current_color(), light_state_t::light_mode, light_mode_toggle_request, light_state, light_state_toggle_request, MODE_BREATHING, MODE_FLASHING, MODE_RAINBOW_CYCLE, MODE_RAINBOW_WHEEL, NUM_PIXELS, light_state_t::state, stop_flag, toggle_light_mode(), toggle_light_state(), and turn_off_all().
Referenced by main().