4 changed files with 228 additions and 1 deletions
-
1main/CMakeLists.txt
-
30main/app_main.cpp
-
114main/light.c
-
84main/light.h
@ -1,6 +1,7 @@ |
|||
set(srcs "app_main.cpp" # |
|||
"ble_spp_server_demo.c" |
|||
"camera.cpp" |
|||
"light.c" |
|||
) |
|||
|
|||
idf_component_register(SRCS "${srcs}"# |
|||
|
@ -0,0 +1,114 @@ |
|||
#include "light.h" |
|||
|
|||
#include "driver/gpio.h" |
|||
#include "esp_log.h" |
|||
|
|||
#define GPIO_DEBUG_LIGHT 12 |
|||
#define GPIO_POWER_LIGHT 12 |
|||
#define GPIO_HEATING_STATE_LIGHT 12 |
|||
#define GPIO_REACTION_STATE_LIGHT 12 |
|||
#define GPIO_WIFI_STATE_LIGHT 12 |
|||
|
|||
static power_state_light_structer_t *power_state_light_structer_s; |
|||
static heating_state_light_structer_t *heating_state_light_structer_s; |
|||
static reaction_state_light_structer_t *reaction_state_light_structer_s; |
|||
static wifi_state_light_structer_t *wifi_state_light_structer_s; |
|||
|
|||
// Debug light |
|||
void T_debug_light_init(void) |
|||
{ |
|||
gpio_config_t gpio_debug_light_init_structer; |
|||
|
|||
gpio_debug_light_init_structer.intr_type = GPIO_INTR_DISABLE; |
|||
gpio_debug_light_init_structer.mode = GPIO_MODE_INPUT_OUTPUT; |
|||
gpio_debug_light_init_structer.pin_bit_mask = (1ULL << GPIO_DEBUG_LIGHT); |
|||
gpio_debug_light_init_structer.pull_down_en = 0; |
|||
gpio_debug_light_init_structer.pull_up_en = 0; |
|||
|
|||
gpio_config(&gpio_debug_light_init_structer); |
|||
} |
|||
|
|||
void T_debug_light_toggle_level(void) |
|||
{ |
|||
gpio_set_level(GPIO_DEBUG_LIGHT, !gpio_get_level(GPIO_DEBUG_LIGHT)); |
|||
} |
|||
|
|||
// Power light |
|||
void T_power_light_init(power_state_light_structer_t *power_state_light_structer) |
|||
{ |
|||
power_state_light_structer_s = power_state_light_structer; |
|||
gpio_config_t gpio_debug_light_init_structer; |
|||
|
|||
gpio_debug_light_init_structer.intr_type = GPIO_INTR_DISABLE; |
|||
gpio_debug_light_init_structer.mode = GPIO_MODE_INPUT_OUTPUT; |
|||
gpio_debug_light_init_structer.pin_bit_mask = (1ULL << GPIO_POWER_LIGHT); |
|||
gpio_debug_light_init_structer.pull_down_en = 0; |
|||
gpio_debug_light_init_structer.pull_up_en = 0; |
|||
|
|||
gpio_config(&gpio_debug_light_init_structer); |
|||
} |
|||
|
|||
// Heating state light |
|||
void T_heating_state_light_init(heating_state_light_structer_t *heating_state_light_structer) |
|||
{ |
|||
heating_state_light_structer_s = heating_state_light_structer; |
|||
gpio_config_t gpio_heating_state_light_init_structer; |
|||
|
|||
gpio_heating_state_light_init_structer.intr_type = GPIO_INTR_DISABLE; |
|||
gpio_heating_state_light_init_structer.mode = GPIO_MODE_INPUT_OUTPUT; |
|||
gpio_heating_state_light_init_structer.pin_bit_mask = (1ULL << GPIO_HEATING_STATE_LIGHT); |
|||
gpio_heating_state_light_init_structer.pull_down_en = 0; |
|||
gpio_heating_state_light_init_structer.pull_up_en = 0; |
|||
|
|||
gpio_config(&gpio_heating_state_light_init_structer); |
|||
} |
|||
|
|||
// Reaction state light |
|||
void T_reaction_state_light_init(reaction_state_light_structer_t *reaction_state_light_structer) |
|||
{ |
|||
reaction_state_light_structer_s = reaction_state_light_structer; |
|||
gpio_config_t gpio_reaction_state_light_init_structer; |
|||
|
|||
gpio_reaction_state_light_init_structer.intr_type = GPIO_INTR_DISABLE; |
|||
gpio_reaction_state_light_init_structer.mode = GPIO_MODE_INPUT_OUTPUT; |
|||
gpio_reaction_state_light_init_structer.pin_bit_mask = (1ULL << GPIO_REACTION_STATE_LIGHT); |
|||
gpio_reaction_state_light_init_structer.pull_down_en = 0; |
|||
gpio_reaction_state_light_init_structer.pull_up_en = 0; |
|||
|
|||
gpio_config(&gpio_reaction_state_light_init_structer); |
|||
} |
|||
|
|||
// WIFI state light |
|||
void T_wifi_state_light_init(wifi_state_light_structer_t *wifi_state_light_structer) |
|||
{ |
|||
wifi_state_light_structer_s = wifi_state_light_structer; |
|||
gpio_config_t gpio_wifi_state_light_init_structer; |
|||
|
|||
gpio_wifi_state_light_init_structer.intr_type = GPIO_INTR_DISABLE; |
|||
gpio_wifi_state_light_init_structer.mode = GPIO_MODE_INPUT_OUTPUT; |
|||
gpio_wifi_state_light_init_structer.pin_bit_mask = (1ULL << GPIO_WIFI_STATE_LIGHT); |
|||
gpio_wifi_state_light_init_structer.pull_down_en = 0; |
|||
gpio_wifi_state_light_init_structer.pull_up_en = 0; |
|||
|
|||
gpio_config(&gpio_wifi_state_light_init_structer); |
|||
} |
|||
|
|||
void T_debug_light_schedule(void) |
|||
{ |
|||
} |
|||
|
|||
void T_light_schedule(void) |
|||
{ |
|||
if (power_state_light_structer_s->change_flag) |
|||
{ |
|||
} |
|||
if (heating_state_light_structer_s->change_flag) |
|||
{ |
|||
} |
|||
if (reaction_state_light_structer_s->change_flag) |
|||
{ |
|||
} |
|||
if (wifi_state_light_structer_s->change_flag) |
|||
{ |
|||
} |
|||
} |
@ -0,0 +1,84 @@ |
|||
/** |
|||
* @file light.h |
|||
* @author Finny (tianjialong0106@163.com) |
|||
* @brief Project micro shape photometer light control |
|||
* @version 0.1 |
|||
* @date 2022-09-25 |
|||
* |
|||
* @copyright Copyright (c) 2022 |
|||
* |
|||
*/ |
|||
#pragma once |
|||
|
|||
#include <stdbool.h> |
|||
|
|||
typedef enum |
|||
{ |
|||
ShutDown = 1, //关机 |
|||
StartingUp, //开机 |
|||
} power_state_t; |
|||
|
|||
typedef enum |
|||
{ |
|||
NoHeat = 1, //没加热 |
|||
Heating, //加热中 |
|||
HeatComplete, //加热完成 |
|||
} heating_state_t; |
|||
|
|||
typedef enum |
|||
{ |
|||
NoReaction = 1, //没反应 |
|||
Reacting, //反应中 |
|||
ReactionComplete, //反应完成 |
|||
} reaction_state_t; |
|||
|
|||
typedef enum |
|||
{ |
|||
NotConnected = 1, //未连接 |
|||
Connecting, //连接中 |
|||
ConnectionComplete, //连接完成 |
|||
} wifi_state_t; |
|||
|
|||
typedef struct |
|||
{ |
|||
power_state_t state; |
|||
bool change_flag; |
|||
} power_state_light_structer_t; |
|||
|
|||
typedef struct |
|||
{ |
|||
heating_state_t state; |
|||
bool change_flag; |
|||
} heating_state_light_structer_t; |
|||
|
|||
typedef struct |
|||
{ |
|||
reaction_state_t state; |
|||
bool change_flag; |
|||
} reaction_state_light_structer_t; |
|||
|
|||
typedef struct |
|||
{ |
|||
wifi_state_t state; |
|||
bool change_flag; |
|||
} wifi_state_light_structer_t; |
|||
|
|||
// Debug light |
|||
void T_debug_light_init(void); |
|||
void T_debug_light_toggle_level(void); |
|||
|
|||
// Power light |
|||
void T_power_light_init(power_state_light_structer_t *power_state_light_structer); |
|||
|
|||
// Heating state light |
|||
void T_heating_state_light_init(heating_state_light_structer_t *heating_state_light_structer); |
|||
|
|||
// Reaction state light |
|||
void T_reaction_state_light_init(reaction_state_light_structer_t *reaction_state_light_structer); |
|||
|
|||
// WIFI state light |
|||
void T_wifi_state_light_init(wifi_state_light_structer_t *wifi_state_light_structer); |
|||
|
|||
// Schedule |
|||
void T_debug_light_schedule(void); |
|||
void T_light_schedule(void); |
Write
Preview
Loading…
Cancel
Save
Reference in new issue