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