wip:
This commit is contained in:
@@ -7,8 +7,13 @@
|
||||
#include "ate0003.h"
|
||||
|
||||
// Must set to #define configMINIMAL_STACK_SIZE 70
|
||||
// Must set to #define configTOTAL_HEAP_SIZE 1408
|
||||
|
||||
#define DEBUG
|
||||
// #define DEBUG
|
||||
|
||||
#define SYSTEM_SETUP_STACK 170
|
||||
#define ENCODER_STACK 166
|
||||
#define PCF8574_STACK 109
|
||||
|
||||
const char *component_cmm[] = {component_1_cmm, component_2_cmm, component_3_cmm, component_4_cmm, component_5_cmm};
|
||||
const char *component_line_1[] = {component_1_line_1, component_2_line_1, component_3_line_1, component_4_line_1, component_5_line_1};
|
||||
@@ -51,38 +56,12 @@ volatile static uint8_t used_channels = 0; // Permitted channels. Depends of t
|
||||
volatile static bool is_initialized = false; // Normal loading status.
|
||||
|
||||
volatile static bool is_num1_fixed = false; // NUM 1 button FIX status.
|
||||
volatile static bool is_num2_fixed = false; // NUM 1 button FIX status.
|
||||
volatile static bool is_num3_fixed = false; // NUM 1 button FIX status.
|
||||
volatile static bool is_num4_fixed = false; // NUM 1 button FIX status.
|
||||
|
||||
int main(void)
|
||||
{
|
||||
//** Encoders init **/
|
||||
zh_avr_encoder_init_config_t encoder_init_config = ZH_AVR_ENCODER_INIT_CONFIG_DEFAULT();
|
||||
encoder_init_config.stack_size = 181; // Check.
|
||||
// encoder_init_config.queue_size = 10; // Check.
|
||||
encoder_init_config.gpio_port = AVR_PORTC;
|
||||
encoder_init_config.a_gpio_number = PORTC0;
|
||||
encoder_init_config.b_gpio_number = PORTC1;
|
||||
encoder_init_config.encoder_min_value = 0;
|
||||
encoder_init_config.encoder_max_value = 100;
|
||||
encoder_init_config.encoder_step = 5;
|
||||
encoder_init_config.encoder_number = POWER_ENCODER;
|
||||
zh_avr_encoder_init(&encoder_init_config, &power_encoder_handle);
|
||||
zh_avr_encoder_set(&power_encoder_handle, 100);
|
||||
encoder_init_config.a_gpio_number = PORTC2;
|
||||
encoder_init_config.b_gpio_number = PORTC3;
|
||||
encoder_init_config.encoder_min_value = 0;
|
||||
encoder_init_config.encoder_max_value = (sizeof(component_cmm) / sizeof(component_cmm[0])) - 1;
|
||||
encoder_init_config.encoder_step = 1;
|
||||
encoder_init_config.encoder_number = COMPONENT_ENCODER;
|
||||
zh_avr_encoder_init(&encoder_init_config, &component_encoder_handle);
|
||||
zh_avr_encoder_set(&component_encoder_handle, 0);
|
||||
//** AC dimmer init **/
|
||||
zh_avr_ac_dimmer_init_config_t ac_dimmer_init_config = ZH_AVR_AC_DIMMER_INIT_CONFIG_DEFAULT();
|
||||
ac_dimmer_init_config.ac_dimmer_frequency = ZH_60HZ;
|
||||
ac_dimmer_init_config.zero_cross_port = AVR_PORTD;
|
||||
ac_dimmer_init_config.zero_cross_gpio = PORTD3;
|
||||
ac_dimmer_init_config.triac_port = AVR_PORTD;
|
||||
ac_dimmer_init_config.triac_gpio = PORTD4;
|
||||
zh_avr_ac_dimmer_init(&ac_dimmer_init_config);
|
||||
#ifdef DEBUG
|
||||
UBRR0H = (BAUD_PRESCALE >> 8);
|
||||
UBRR0L = BAUD_PRESCALE;
|
||||
@@ -90,7 +69,7 @@ int main(void)
|
||||
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);
|
||||
stdout = &uart;
|
||||
#endif
|
||||
xTaskCreate(system_setup_task, "system_setup", 164, NULL, tskIDLE_PRIORITY, &system_setup_task_handle);
|
||||
xTaskCreate(system_setup_task, "system_setup", SYSTEM_SETUP_STACK, NULL, tskIDLE_PRIORITY, &system_setup_task_handle);
|
||||
vTaskStartScheduler();
|
||||
return 0;
|
||||
}
|
||||
@@ -100,7 +79,7 @@ void system_setup_task(void *pvParameters)
|
||||
char text_buffer[LCD_TEXT_BUFFER];
|
||||
zh_avr_i2c_master_init(false);
|
||||
zh_avr_pcf8574_init_config_t pcf8574_init_config = ZH_AVR_PCF8574_INIT_CONFIG_DEFAULT();
|
||||
// pcf8574_init_config.stack_size = 150; // Check.
|
||||
pcf8574_init_config.stack_size = PCF8574_STACK;
|
||||
//** LED 1 extender init. All LED off. DMM red on. FIX blue on. **/
|
||||
pcf8574_init_config.i2c_address = LED1_I2C_ADDRESS;
|
||||
zh_avr_pcf8574_init(&pcf8574_init_config, &led1_handle);
|
||||
@@ -155,6 +134,35 @@ void system_setup_task(void *pvParameters)
|
||||
zh_avr_160x_print_char(&lcd_handle, text_buffer);
|
||||
//**"ANY" component setup after loading. **/
|
||||
component_setup_function(0);
|
||||
//** Encoders init **/
|
||||
zh_avr_encoder_init_config_t encoder_init_config = ZH_AVR_ENCODER_INIT_CONFIG_DEFAULT();
|
||||
encoder_init_config.stack_size = ENCODER_STACK;
|
||||
encoder_init_config.queue_size = 3;
|
||||
encoder_init_config.gpio_port = AVR_PORTC;
|
||||
encoder_init_config.a_gpio_number = PORTC0;
|
||||
encoder_init_config.b_gpio_number = PORTC1;
|
||||
encoder_init_config.encoder_min_value = 0;
|
||||
encoder_init_config.encoder_max_value = 100;
|
||||
encoder_init_config.encoder_step = 5;
|
||||
encoder_init_config.encoder_number = POWER_ENCODER;
|
||||
zh_avr_encoder_init(&encoder_init_config, &power_encoder_handle);
|
||||
zh_avr_encoder_set(&power_encoder_handle, 100);
|
||||
encoder_init_config.a_gpio_number = PORTC2;
|
||||
encoder_init_config.b_gpio_number = PORTC3;
|
||||
encoder_init_config.encoder_min_value = 0;
|
||||
encoder_init_config.encoder_max_value = (sizeof(component_cmm) / sizeof(component_cmm[0])) - 1;
|
||||
encoder_init_config.encoder_step = 1;
|
||||
encoder_init_config.encoder_number = COMPONENT_ENCODER;
|
||||
zh_avr_encoder_init(&encoder_init_config, &component_encoder_handle);
|
||||
zh_avr_encoder_set(&component_encoder_handle, 0);
|
||||
//** AC dimmer init **/
|
||||
zh_avr_ac_dimmer_init_config_t ac_dimmer_init_config = ZH_AVR_AC_DIMMER_INIT_CONFIG_DEFAULT();
|
||||
ac_dimmer_init_config.ac_dimmer_frequency = ZH_60HZ;
|
||||
ac_dimmer_init_config.zero_cross_port = AVR_PORTD;
|
||||
ac_dimmer_init_config.zero_cross_gpio = PORTD3;
|
||||
ac_dimmer_init_config.triac_port = AVR_PORTD;
|
||||
ac_dimmer_init_config.triac_gpio = PORTD4;
|
||||
zh_avr_ac_dimmer_init(&ac_dimmer_init_config);
|
||||
is_initialized = true;
|
||||
#ifdef DEBUG
|
||||
printf("System Setup Task Remaining Stack Size %d.\n", uxTaskGetStackHighWaterMark(NULL));
|
||||
|
||||
Reference in New Issue
Block a user