firmware-nucleo/README.md (1889B)
1 # Firmware 2 3 En esta carpeta se encuentra el firmware para el proyecto de controlador de 4 derretidor de miel. A gran nivel se trata de una única aplicación que tiene 5 asociada multiples tareas. Esta aplicación se actualiza en cada milisegundo y al 6 actualizarse actualiza cada tarea asociada. 7 8 Las tareas se asocian a la aplicación en el archivo `app/src/app.c` al momento 9 de iniciar la liste de tareas, como se muestra a continuación. 10 11 ```c 12 const task_cfg_t task_cfg_list[] = { 13 {task_system_init, task_system_update, &shared_data}, 14 {task_buttons_init, task_buttons_update, NULL}, 15 {task_buzzer_init, task_buzzer_update, NULL}, 16 {task_leds_init, task_leds_update, NULL}, 17 {task_menu_init, task_menu_update, &shared_data}, 18 {task_temp_ctrl_init, task_temp_ctrl_update, &shared_data}, 19 {task_temp_sensor_init, task_temp_sensor_update, &shared_data}, 20 }; 21 ``` 22 23 La tarea central es `task_system`, esta tarea recibe y envía eventos; 24 principalmente recibe de `task_buttons` que se encarga de escrutar el estado de 25 los botones y principalmente envía a las tareas `tsak_temp_ctrl`, `task_leds` y 26 `task_menu`. Las tareas restantes se puede decir que no interactúan con 27 `task_system` mediante eventos si no que lo hacen a través de parámetros 28 compartidos, estas tareas son `task_temp_sensor` y `task_temp_ctrl`. 29 30 Los archivos correspondientes a la aplicación se encuentran en la carpeta 31 `app`. Las carpetas `Core` y `Drivers` se generan automáticamente por CubeMX. En 32 la carpeta `Core` se encuentra el punto de entrada (la función `main`) así como 33 también archivos de inicialización y manejo de interrupciones, como 34 `startup_stm32f103rbtx.s` y `stm32f1xx_it.c`, respectivamente. La carpeta 35 `Drivers` contiene todos los archivos relacionados con la capa de abstracción 36 HAL (Hardware Abstraction Layer). 37 38 39
