Update CCS12 peripheral firmware and documentation
This commit is contained in:
@@ -1,3 +1,12 @@
|
||||
/**
|
||||
* @file pulto.c
|
||||
* @brief Периодическое обслуживание пульта индикации.
|
||||
*
|
||||
* Обработчик Timer1 обновляет яркость, маску ламп, числовые каналы и признак
|
||||
* связи с ведущим устройством. Работа выполняется в прерывании, поэтому обмен
|
||||
* с общими переменными должен оставаться коротким; частоты мигания вычисляются
|
||||
* из READY_FREQ и изменятся при смене базовой частоты таймера.
|
||||
*/
|
||||
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
|
||||
#include "DSP2833x_SWPrioritizedIsrLevels.h"
|
||||
|
||||
@@ -10,6 +19,7 @@
|
||||
#include "kanal.h"
|
||||
#include "peripher.h"
|
||||
|
||||
/** @brief Маска мигающих сегментов и тестовое число режима самопроверки. */
|
||||
unsigned long isMask;
|
||||
int isNumb;
|
||||
|
||||
@@ -17,6 +27,11 @@ int quaLamp = 6;
|
||||
|
||||
unsigned long Lonely=0;
|
||||
|
||||
/**
|
||||
* @brief Выполняет шаг визуального теста всех цифр и сегментов.
|
||||
* @details Через BLINK_TIME изменяет цифру 0..9 и попеременно включает либо
|
||||
* гасит полную маску, позволяя заметить неисправный сегмент индикатора.
|
||||
*/
|
||||
void what_is()
|
||||
{
|
||||
static unsigned int count_blink;
|
||||
@@ -33,6 +48,12 @@ void what_is()
|
||||
else isMask = 0xFFFFFFFF;
|
||||
} }
|
||||
|
||||
/**
|
||||
* @brief Периодический ISR управления панелью EPLT.
|
||||
* @details Поддерживает программный PWM яркости, отображает актуальные каналы,
|
||||
* управляет лампами и отслеживает тайм-аут связи через Lonely. Перед выходом
|
||||
* восстанавливает PIEIER и подтверждает источник Timer1.
|
||||
*/
|
||||
interrupt void cpu_timer1_isr_PULT(void)
|
||||
{
|
||||
static int cownt=0,count_bright;
|
||||
@@ -53,10 +74,11 @@ interrupt void cpu_timer1_isr_PULT(void)
|
||||
CanGO = 1;
|
||||
}
|
||||
|
||||
toggle_ONLINE(); // ñòðîá äëà ÏËÈÑ
|
||||
toggle_RES_OUT_1(); // òèïà ýòî ãîòîâíîñòü
|
||||
toggle_RES_OUT_2(); // íà âñàêèé
|
||||
toggle_ONLINE(); // строб дла ПЛИС
|
||||
toggle_RES_OUT_1(); // типа это готовность
|
||||
toggle_RES_OUT_2(); // на всакий
|
||||
|
||||
/* Насыщение предотвращает переполнение счётчика после длительной потери связи. */
|
||||
if(++Lonely > Alone) Lonely = Alone;
|
||||
|
||||
if(++count_bright >= maximum_bright) count_bright = 0 ;
|
||||
@@ -66,6 +88,7 @@ interrupt void cpu_timer1_isr_PULT(void)
|
||||
if(count_bright < Bright[i]) light+=(1<<i);
|
||||
}
|
||||
|
||||
/* За один ISR обновляется одна из трёх групп индикаторов. */
|
||||
if(++cownt>2) cownt=0;
|
||||
|
||||
if(cTestLamp|bTestLamp)
|
||||
|
||||
Reference in New Issue
Block a user