Добавить пояснения к исходникам, заголовкам TI, настройкам CCS и существующим проверкам. Зафиксировать правила кодировки, обзор модулей и аудит комментариев.
520 lines
47 KiB
C
520 lines
47 KiB
C
/* Перемычки режима платы, дискретные входы и выходы. Русские пояснения сохранены в UTF-8. */
|
||
/* Подключает "DSP2833x_Device.h": поставляемое TI описание Device для семейства C2833x. */
|
||
#include "DSP2833x_Device.h" // DSP281x Headerfile Include File
|
||
/* Подключает "filter_bat2.h": накопительный фильтр измерительных каналов. */
|
||
#include "filter_bat2.h"
|
||
/* Подключает "measure.h": обработка датчиков, вычисление величин и миллисекундный такт системы. */
|
||
#include "measure.h"
|
||
/* Подключает "RS485.h": приём и передача SCI-A/SCI-B, упаковка команд и FIFO первого порта. */
|
||
#include "RS485.h"
|
||
/* Подключает "message.h": обработка Modbus, заводские параметры и сохранение настроек. */
|
||
#include "message.h"
|
||
|
||
/* Подключает "package.h": адреса устройств, типы плат и псевдонимы технологических регистров. */
|
||
#include "package.h"
|
||
/* Подключает "pulto.h": обмен и индикация пульта. */
|
||
#include "pulto.h"
|
||
|
||
/* Подключает "peripher.h": перемычки режима платы, дискретные входы и выходы. */
|
||
#include "peripher.h"
|
||
/* Подключает "GPIO_table.h": таблица назначения GPIO и макросы аппаратных сигналов платы. */
|
||
#include "GPIO_table.h"
|
||
|
||
/* Объявляет Mode — рабочий адрес или режим платы, выбранный перемычками; Desk — аппаратно определённый тип платы; TermoAD — данные TermoAD; TermoRS — данные TermoRS; TermoSW — данные TermoSW. Начальное значение задаётся справа от знака равенства. */
|
||
int Mode,Desk,TermoAD=0,TermoRS=0,TermoSW=0,Kurrent=0,Kalibro=0,Owen=0;
|
||
/* Объявляет INcount0 — данные INcount0; INcount1 — данные INcount1. Начальное значение задаётся справа от знака равенства. */
|
||
unsigned int INcount0=0,INcount1=0;
|
||
/* Продолжает список аргументов, полей или выражение LONGE DigErr;; порядок элементов сохраняется. */
|
||
LONGE DigErr;
|
||
|
||
/* Объявляет MUX_GPIO32 — выбор функции вывода 32; MUX_GPIO48 — выбор функции вывода 48; DIR_GPIO32 — данные DIR_GPIO32; DIR_GPIO48 — данные DIR_GPIO48. */
|
||
int MUX_GPIO32,MUX_GPIO48,DIR_GPIO32,DIR_GPIO48;
|
||
|
||
/* Начинает функцию setup_leds_line; назначение модуля — перемычки режима платы, дискретные входы и выходы. */
|
||
void setup_leds_line()
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Записывает MUX_GPIO32 значением GpioCtrlRegs.GPBMUX1.bit.GPIO32; выбор функции вывода 32. */
|
||
MUX_GPIO32 = GpioCtrlRegs.GPBMUX1.bit.GPIO32;
|
||
/* Записывает MUX_GPIO48 значением GpioCtrlRegs.GPBMUX2.bit.GPIO48; выбор функции вывода 48. */
|
||
MUX_GPIO48 = GpioCtrlRegs.GPBMUX2.bit.GPIO48;
|
||
/* Записывает DIR_GPIO32 значением GpioCtrlRegs.GPBDIR.bit.GPIO32; данные DIR_GPIO32. */
|
||
DIR_GPIO32 = GpioCtrlRegs.GPBDIR.bit.GPIO32;
|
||
/* Записывает DIR_GPIO48 значением GpioCtrlRegs.GPBDIR.bit.GPIO48; данные DIR_GPIO48. */
|
||
DIR_GPIO48 = GpioCtrlRegs.GPBDIR.bit.GPIO48;
|
||
|
||
/* Разрешение записи в защищённые регистры периферии. */
|
||
EALLOW;
|
||
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO32 значением 0; аппаратная линия ввода/вывода GPIO32. */
|
||
GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 0;
|
||
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO48 значением 0; аппаратная линия ввода/вывода GPIO48. */
|
||
GpioCtrlRegs.GPBMUX2.bit.GPIO48 = 0;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.bit.GPIO32 значением 1; аппаратная линия ввода/вывода GPIO32. */
|
||
GpioCtrlRegs.GPBDIR.bit.GPIO32 = 1;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.bit.GPIO48 значением 1; аппаратная линия ввода/вывода GPIO48. */
|
||
GpioCtrlRegs.GPBDIR.bit.GPIO48 = 1;
|
||
/* Закрытие доступа к защищённым регистрам периферии. */
|
||
EDIS;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Начинает функцию unsetup_leds_line; назначение модуля — перемычки режима платы, дискретные входы и выходы. */
|
||
void unsetup_leds_line()
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Разрешение записи в защищённые регистры периферии. */
|
||
EALLOW;
|
||
/* Записывает GpioCtrlRegs.GPBMUX1.bit.GPIO32 значением MUX_GPIO32; аппаратная линия ввода/вывода GPIO32. */
|
||
GpioCtrlRegs.GPBMUX1.bit.GPIO32 = MUX_GPIO32;
|
||
/* Записывает GpioCtrlRegs.GPBMUX2.bit.GPIO48 значением MUX_GPIO48; аппаратная линия ввода/вывода GPIO48. */
|
||
GpioCtrlRegs.GPBMUX2.bit.GPIO48 = MUX_GPIO48;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.bit.GPIO32 значением DIR_GPIO32; аппаратная линия ввода/вывода GPIO32. */
|
||
GpioCtrlRegs.GPBDIR.bit.GPIO32 = DIR_GPIO32;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.bit.GPIO48 значением DIR_GPIO48; аппаратная линия ввода/вывода GPIO48. */
|
||
GpioCtrlRegs.GPBDIR.bit.GPIO48 = DIR_GPIO48;
|
||
/* Закрытие доступа к защищённым регистрам периферии. */
|
||
EDIS;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Определяет адрес и тип платы по аппаратным перемычкам и задаёт рабочий режим. */
|
||
void get_Mode()
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Разрешение записи в защищённые регистры периферии. */
|
||
EALLOW;
|
||
|
||
/* Оставляет биты маски GpioCtrlRegs.GPAMUX1.all значением 0xFF000000; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPAMUX1.all &= 0xFF000000; // 00—11
|
||
/* Оставляет биты маски GpioCtrlRegs.GPAMUX2.all значением 0xFF00003F; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPAMUX2.all &= 0xFF00003F; // 19—27
|
||
/* Оставляет биты маски GpioCtrlRegs.GPBMUX1.all значением 0xFFFFFFC0; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPBMUX1.all &= 0xFFFFFFC0; // 32—34
|
||
/* Оставляет биты маски GpioCtrlRegs.GPBMUX2.all значением 0x000FF000; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPBMUX2.all &= 0x000FF000; // 48—53, 58—63
|
||
|
||
/* Записывает GpioCtrlRegs.GPADIR.bit.GPIO20 значением 0; аппаратная линия ввода/вывода GPIO20. */
|
||
GpioCtrlRegs.GPADIR.bit.GPIO20 = 0;
|
||
/* Записывает GpioCtrlRegs.GPADIR.bit.GPIO21 значением 0; аппаратная линия ввода/вывода GPIO21. */
|
||
GpioCtrlRegs.GPADIR.bit.GPIO21 = 0;
|
||
/* Записывает GpioCtrlRegs.GPADIR.bit.GPIO22 значением 0; аппаратная линия ввода/вывода GPIO22. */
|
||
GpioCtrlRegs.GPADIR.bit.GPIO22 = 0;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.bit.GPIO51 значением 0; аппаратная линия ввода/вывода GPIO51. */
|
||
GpioCtrlRegs.GPBDIR.bit.GPIO51 = 0;
|
||
|
||
/* Закрытие доступа к защищённым регистрам периферии. */
|
||
EDIS;
|
||
|
||
/* Записывает Mode значением 1; рабочий адрес или режим платы, выбранный перемычками. */
|
||
Mode = 1;
|
||
/* Увеличивает Mode значением 1 * !GpioDataRegs.GPADAT.bit.GPIO21; рабочий адрес или режим платы, выбранный перемычками. */
|
||
Mode += 1 * !GpioDataRegs.GPADAT.bit.GPIO21;
|
||
/* Увеличивает Mode значением 2 * !GpioDataRegs.GPADAT.bit.GPIO20; рабочий адрес или режим платы, выбранный перемычками. */
|
||
Mode += 2 * !GpioDataRegs.GPADAT.bit.GPIO20;
|
||
/* Увеличивает Mode значением 4 * !GpioDataRegs.GPADAT.bit.GPIO22; рабочий адрес или режим платы, выбранный перемычками. */
|
||
Mode += 4 * !GpioDataRegs.GPADAT.bit.GPIO22;
|
||
/* Увеличивает Mode значением 8 * !GpioDataRegs.GPBDAT.bit.GPIO51; рабочий адрес или режим платы, выбранный перемычками. */
|
||
Mode += 8 * !GpioDataRegs.GPBDAT.bit.GPIO51;
|
||
|
||
/* Проверяет if( (Mode==adr_POW1) или (Mode==adr_POW2)) Desk = dsk_COMM; последующий оператор выполняется только при истинном условии. */
|
||
if( (Mode==adr_POW1)||(Mode==adr_POW2)) Desk = dsk_COMM;
|
||
/* Проверяет if( (Mode==adr_TRN1) или (Mode==adr_TRN2)) Desk = dsk_BKST; последующий оператор выполняется только при истинном условии. */
|
||
if( (Mode==adr_TRN1)||(Mode==adr_TRN2)) Desk = dsk_BKST;
|
||
/* Проверяет if( (Mode==adr_LOA1) или (Mode==adr_LOA2)) Desk = dsk_LOAD; последующий оператор выполняется только при истинном условии. */
|
||
if( (Mode==adr_LOA1)||(Mode==adr_LOA2)) Desk = dsk_LOAD;
|
||
/* Проверяет if (Mode==adr_ENG1) Desk = dsk_BKSD; последующий оператор выполняется только при истинном условии. */
|
||
if (Mode==adr_ENG1) Desk = dsk_BKSD;
|
||
/* Проверяет if (Mode==adr_PULT) Desk = dsk_EPLT; последующий оператор выполняется только при истинном условии. */
|
||
if (Mode==adr_PULT) Desk = dsk_EPLT;
|
||
/* Проверяет if (Mode==adr_SHKF) Desk = dsk_SHKF; последующий оператор выполняется только при истинном условии. */
|
||
if (Mode==adr_SHKF) Desk = dsk_SHKF;
|
||
|
||
/* Проверяет if( (Desk==dsk_COMM) или (Desk==dsk_LOAD)) Kurrent = 1; последующий оператор выполняется только при истинном условии. */
|
||
if( (Desk==dsk_COMM)||(Desk==dsk_LOAD)) Kurrent = 1;
|
||
/* Проверяет if( (Desk==dsk_BKSD) или (Desk==dsk_BKST)) TermoRS = 1; последующий оператор выполняется только при истинном условии. */
|
||
if( (Desk==dsk_BKSD)||(Desk==dsk_BKST)) TermoRS = 1;
|
||
/* Проверяет if( (Desk==dsk_COMM) или (Desk==dsk_SHKF)) TermoAD = 1; последующий оператор выполняется только при истинном условии. */
|
||
if( (Desk==dsk_COMM)||(Desk==dsk_SHKF)) TermoAD = 1;
|
||
/* Проверяет if( (Desk==dsk_COMM) или (Desk==dsk_BKST)) TermoSW = 2; последующий оператор выполняется только при истинном условии. */
|
||
if( (Desk==dsk_COMM)||(Desk==dsk_BKST)) TermoSW = 2;
|
||
/* Проверяет if (Desk==dsk_BKSD) TermoSW = 1; последующий оператор выполняется только при истинном условии. */
|
||
if (Desk==dsk_BKSD) TermoSW = 1;
|
||
|
||
/* Включает следующий блок только при определённом символе CALIB_RS. */
|
||
#ifdef CALIB_RS
|
||
/* Проверяет if (Desk!=dsk_EPLT) Kalibro = 1; последующий оператор выполняется только при истинном условии. */
|
||
if (Desk!=dsk_EPLT) Kalibro = 1;
|
||
/* Выбирает альтернативный блок текущего условия компиляции. */
|
||
#else
|
||
/* Проверяет if( (Desk==dsk_COMM) или (Desk==dsk_SHKF) или; последующий оператор выполняется только при истинном условии. */
|
||
if( (Desk==dsk_COMM)||(Desk==dsk_SHKF)||
|
||
/* Записывает Kalibro значением 1; данные Kalibro. */
|
||
(Desk==dsk_LOAD) ) Kalibro = 1;
|
||
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
|
||
#endif
|
||
|
||
/* Включает следующий блок только при определённом символе OWEN. */
|
||
#ifdef OWEN
|
||
/* Проверяет if (Desk==dsk_COMM) Owen = OWEN_DT; последующий оператор выполняется только при истинном условии. */
|
||
if (Desk==dsk_COMM) Owen = OWEN_DT;
|
||
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
|
||
#endif
|
||
|
||
/* Сбрасывает аппаратный сигнал через clear_LED_OUT_1();. */
|
||
clear_LED_OUT_1();
|
||
/* Сбрасывает аппаратный сигнал через clear_LED_OUT_2();. */
|
||
clear_LED_OUT_2();
|
||
/* Сбрасывает аппаратный сигнал через clear_RES_OUT_1();. */
|
||
clear_RES_OUT_1();
|
||
/* Сбрасывает аппаратный сигнал через clear_RES_OUT_2();. */
|
||
clear_RES_OUT_2();
|
||
|
||
/* Разрешение записи в защищённые регистры периферии. */
|
||
EALLOW;
|
||
/* Вызывает switch с аргументами (Desk) в текущей последовательности операций. */
|
||
switch(Desk)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Ветвь выбора для dsk_COMM; выполняется при совпадении селектора switch. */
|
||
case dsk_COMM: GpioCtrlRegs.GPADIR.all = COMM_GPADIR;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.all значением COMM_GPBDIR; break; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPBDIR.all = COMM_GPBDIR; break;
|
||
|
||
/* Ветвь выбора для dsk_BKSD; выполняется при совпадении селектора switch. */
|
||
case dsk_BKSD: GpioCtrlRegs.GPADIR.all = BKSD_GPADIR;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.all значением BKSD_GPBDIR; break; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPBDIR.all = BKSD_GPBDIR; break;
|
||
|
||
/* Ветвь выбора для dsk_BKST; выполняется при совпадении селектора switch. */
|
||
case dsk_BKST: GpioCtrlRegs.GPADIR.all = BKST_GPADIR;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.all значением BKST_GPBDIR; break; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPBDIR.all = BKST_GPBDIR; break;
|
||
|
||
/* Ветвь выбора для dsk_EPLT; выполняется при совпадении селектора switch. */
|
||
case dsk_EPLT: GpioCtrlRegs.GPADIR.all = PLT2_GPADIR;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.all значением PLT2_GPBDIR; break; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPBDIR.all = PLT2_GPBDIR; break;
|
||
|
||
/* Ветвь выбора для dsk_LOAD; выполняется при совпадении селектора switch. */
|
||
case dsk_LOAD: GpioCtrlRegs.GPADIR.all = LOAD_GPADIR;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.all значением LOAD_GPBDIR; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPBDIR.all = LOAD_GPBDIR;
|
||
/* Записывает GpioDataRegs.GPASET.bit.GPIO3 значением 1; break; аппаратная линия ввода/вывода GPIO3. */
|
||
GpioDataRegs.GPASET.bit.GPIO3=1; break;
|
||
|
||
/* Ветвь выбора для dsk_SHKF; выполняется при совпадении селектора switch. */
|
||
case dsk_SHKF: GpioCtrlRegs.GPADIR.all = SHKF_GPADIR;
|
||
/* Записывает GpioCtrlRegs.GPBDIR.all значением SHKF_GPBDIR; break; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioCtrlRegs.GPBDIR.all = SHKF_GPBDIR; break;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
/* Закрытие доступа к защищённым регистрам периферии. */
|
||
EDIS;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Начинает функцию select_tpl_255; назначение модуля — перемычки режима платы, дискретные входы и выходы. */
|
||
void select_tpl_255(void)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Проверяет if(Desk==dsk_BKSD); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_BKSD)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Задаёт BKSD_A_tpl_255 = ((1L<<11) + (1L<<9) + (1L<<7) + (1L<<3)); данные BKSD_A_tpl_255. */
|
||
#define BKSD_A_tpl_255 ((1L<<11) + (1L<<9) + (1L<<7) + (1L<<3))
|
||
|
||
/* Записывает GpioDataRegs.GPACLEAR.all значением BKSD_A_tpl_255; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioDataRegs.GPACLEAR.all = BKSD_A_tpl_255;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Проверяет if(Desk==dsk_COMM); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_COMM)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Задаёт COMM_A_tpl_255 = ((1L<<27) + (1L<<24) + (1L<<25)); данные COMM_A_tpl_255. */
|
||
#define COMM_A_tpl_255 ((1L<<27) + (1L<<24) + (1L<<25))
|
||
/* Задаёт COMM_B_tpl_255 = ((1L<<(49-32)) + (1L<<(52-32))); данные COMM_B_tpl_255. */
|
||
#define COMM_B_tpl_255 ((1L<<(49-32)) + (1L<<(52-32)))
|
||
|
||
/* Записывает GpioDataRegs.GPASET.all значением COMM_A_tpl_255; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioDataRegs.GPASET.all = COMM_A_tpl_255;
|
||
/* Записывает GpioDataRegs.GPBSET.all значением COMM_B_tpl_255; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioDataRegs.GPBSET.all = COMM_B_tpl_255;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Проверяет if(Desk==dsk_BKST); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_BKST)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Задаёт BKST_A_tpl_zero = ((1L<<11) + (1L<<9) + (1L<<7) + (1L<<3) + (1L<<1) + (1L<<8) + (1L<<6) + (1L<<0) + (1L<<27) + (1L<<24)); данные BKST_A_tpl_zero. */
|
||
#define BKST_A_tpl_zero ((1L<<11) + (1L<<9) + (1L<<7) + (1L<<3) + (1L<<1) + (1L<<8) + (1L<<6) + (1L<<0) + (1L<<27) + (1L<<24))
|
||
/* Задаёт BKST_B_tpl_zero = ((1L<<(53-32)) + (1L<<(50-32))); данные BKST_B_tpl_zero. */
|
||
#define BKST_B_tpl_zero ((1L<<(53-32)) + (1L<<(50-32)))
|
||
|
||
/* Записывает GpioDataRegs.GPASET.all значением BKST_A_tpl_zero; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioDataRegs.GPASET.all = BKST_A_tpl_zero;
|
||
/* Записывает GpioDataRegs.GPBSET.all значением BKST_B_tpl_zero; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioDataRegs.GPBSET.all = BKST_B_tpl_zero;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
} }
|
||
|
||
/* Начинает функцию select_tpl_canal; назначение модуля — перемычки режима платы, дискретные входы и выходы. */
|
||
void select_tpl_canal(int n_tpl)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Объявляет GPIO_A_tpl_set — аппаратная линия ввода/вывода GPIO_A_tpl_set. Начальное значение задаётся справа от знака равенства. */
|
||
unsigned long GPIO_A_tpl_set = 0;
|
||
/* Объявляет GPIO_B_tpl_set — аппаратная линия ввода/вывода GPIO_B_tpl_set. Начальное значение задаётся справа от знака равенства. */
|
||
unsigned long GPIO_B_tpl_set = 0;
|
||
|
||
/* Проверяет if(Desk==dsk_BKSD); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_BKSD)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Проверяет if(!(n_tpl&0x01)) GPIO_A_tpl_set|=(1L<<11); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x01)) GPIO_A_tpl_set|=(1L<<11);
|
||
/* Проверяет if(!(n_tpl&0x02)) GPIO_A_tpl_set|=(1L<<9); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x02)) GPIO_A_tpl_set|=(1L<<9);
|
||
/* Проверяет if(!(n_tpl&0x04)) GPIO_A_tpl_set|=(1L<<7); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x04)) GPIO_A_tpl_set|=(1L<<7);
|
||
/* Проверяет if(!(n_tpl&0x08)) GPIO_A_tpl_set|=(1L<<3); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x08)) GPIO_A_tpl_set|=(1L<<3);
|
||
|
||
/* Записывает GpioDataRegs.GPASET.all значением GPIO_A_tpl_set; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioDataRegs.GPASET.all = GPIO_A_tpl_set;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Проверяет if(Desk==dsk_BKST); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_BKST)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Проверяет if(n_tpl==0) GpioDataRegs.GPACLEAR.bit.GPIO11=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==0) GpioDataRegs.GPACLEAR.bit.GPIO11=1;
|
||
/* Проверяет if(n_tpl==1) GpioDataRegs.GPACLEAR.bit.GPIO9=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==1) GpioDataRegs.GPACLEAR.bit.GPIO9=1;
|
||
/* Проверяет if(n_tpl==2) GpioDataRegs.GPACLEAR.bit.GPIO7=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==2) GpioDataRegs.GPACLEAR.bit.GPIO7=1;
|
||
/* Проверяет if(n_tpl==3) GpioDataRegs.GPACLEAR.bit.GPIO3=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==3) GpioDataRegs.GPACLEAR.bit.GPIO3=1;
|
||
/* Проверяет if(n_tpl==4) GpioDataRegs.GPACLEAR.bit.GPIO1=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==4) GpioDataRegs.GPACLEAR.bit.GPIO1=1;
|
||
/* Проверяет if(n_tpl==5) GpioDataRegs.GPACLEAR.bit.GPIO8=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==5) GpioDataRegs.GPACLEAR.bit.GPIO8=1;
|
||
/* Проверяет if(n_tpl==6) GpioDataRegs.GPACLEAR.bit.GPIO6=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==6) GpioDataRegs.GPACLEAR.bit.GPIO6=1;
|
||
/* Проверяет if(n_tpl==7) GpioDataRegs.GPACLEAR.bit.GPIO0=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==7) GpioDataRegs.GPACLEAR.bit.GPIO0=1;
|
||
/* Проверяет if(n_tpl==8) GpioDataRegs.GPACLEAR.bit.GPIO27=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==8) GpioDataRegs.GPACLEAR.bit.GPIO27=1;
|
||
/* Проверяет if(n_tpl==9) GpioDataRegs.GPACLEAR.bit.GPIO24=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==9) GpioDataRegs.GPACLEAR.bit.GPIO24=1;
|
||
/* Проверяет if(n_tpl==10) GpioDataRegs.GPBCLEAR.bit.GPIO53=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==10) GpioDataRegs.GPBCLEAR.bit.GPIO53=1;
|
||
/* Проверяет if(n_tpl==11) GpioDataRegs.GPBCLEAR.bit.GPIO50=1; последующий оператор выполняется только при истинном условии. */
|
||
if(n_tpl==11) GpioDataRegs.GPBCLEAR.bit.GPIO50=1;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Проверяет if(Desk==dsk_COMM); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_COMM)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Проверяет if(!(n_tpl&0x01)) GPIO_A_tpl_set|=(1L<<27); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x01)) GPIO_A_tpl_set|=(1L<<27);
|
||
/* Проверяет if(!(n_tpl&0x02)) GPIO_A_tpl_set|=(1L<<24); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x02)) GPIO_A_tpl_set|=(1L<<24);
|
||
/* Проверяет if(!(n_tpl&0x04)) GPIO_A_tpl_set|=(1L<<25); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x04)) GPIO_A_tpl_set|=(1L<<25);
|
||
/* Проверяет if(!(n_tpl&0x08)) GPIO_B_tpl_set|=(1L<<(49-32)); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x08)) GPIO_B_tpl_set|=(1L<<(49-32));
|
||
/* Проверяет if(!(n_tpl&0x10)) GPIO_B_tpl_set|=(1L<<(52-32)); последующий оператор выполняется только при истинном условии. */
|
||
if(!(n_tpl&0x10)) GPIO_B_tpl_set|=(1L<<(52-32));
|
||
|
||
/* Записывает GpioDataRegs.GPACLEAR.all значением GPIO_A_tpl_set; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioDataRegs.GPACLEAR.all = GPIO_A_tpl_set;
|
||
/* Записывает GpioDataRegs.GPBCLEAR.all значением GPIO_B_tpl_set; представление регистра целым словом без разбиения на битовые поля. */
|
||
GpioDataRegs.GPBCLEAR.all = GPIO_B_tpl_set;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
} }
|
||
|
||
/* Считывает кнопки, обновляет флаги команд и учитывает текущий тип платы. */
|
||
void get_Buttons()
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Объявляет butt — данные butt. Начальное значение задаётся справа от знака равенства. */
|
||
unsigned long butt =0;
|
||
/* Объявляет fluf — данные fluf. Начальное значение задаётся справа от знака равенства. */
|
||
unsigned long fluf =0;
|
||
|
||
/* Проверяет if(Desk==dsk_BKSD); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_BKSD)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Записывает bTestLamp значением !GpioDataRegs.GPBDAT.bit.GPIO50; данные bTestLamp. */
|
||
bTestLamp = !GpioDataRegs.GPBDAT.bit.GPIO50;
|
||
/* Записывает bSecretBt значением !GpioDataRegs.GPBDAT.bit.GPIO49; данные bSecretBt. */
|
||
bSecretBt = !GpioDataRegs.GPBDAT.bit.GPIO49;
|
||
|
||
/* Записывает InputRep0 значением bTestLamp; вход Rep 0. */
|
||
InputRep0 = bTestLamp;
|
||
/* Записывает InputRep1 значением bSecretBt; вход Rep 1. */
|
||
InputRep1 = bSecretBt;
|
||
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO0) butt +=0x0001; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO0) butt +=0x0001;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO2) butt +=0x0002; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO2) butt +=0x0002;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO10)butt +=0x0004; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO10)butt +=0x0004;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO4) butt +=0x0008; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO4) butt +=0x0008;
|
||
|
||
/* Записывает Inputs.all значением butt; представление регистра целым словом без разбиения на битовые поля. */
|
||
Inputs.all = butt;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Ничего такого в действительности нет
|
||
if(Desk==dsk_BKST)
|
||
{ bSecretBt = !GpioDataRegs.GPBDAT.bit.GPIO63;
|
||
InputRep1 = bSecretBt;
|
||
return;
|
||
} */
|
||
|
||
/* Проверяет if(Desk==dsk_COMM); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_COMM)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Записывает bSecretBt значением !GpioDataRegs.GPBDAT.bit.GPIO53; данные bSecretBt. */
|
||
bSecretBt = !GpioDataRegs.GPBDAT.bit.GPIO53;
|
||
/* Записывает bTermoCal значением er_anal(!GpioDataRegs.GPBDAT.bit.GPIO50, &INcount0, 0xFFFF, 0); данные bTermoCal. */
|
||
bTermoCal = er_anal(!GpioDataRegs.GPBDAT.bit.GPIO50, &INcount0, 0xFFFF, 0);
|
||
|
||
/* Записывает InputRep1 значением bSecretBt; вход Rep 1. */
|
||
InputRep1 = bSecretBt;
|
||
/* Записывает InputRep2 значением bTermoCal; вход Rep 2. */
|
||
InputRep2 = bTermoCal;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Проверяет if(Desk==dsk_EPLT); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_EPLT)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Записывает bTestLamp значением er_anal(GpioDataRegs.GPADAT.bit.GPIO26, &INcount0, 1000, 0); данные bTestLamp. */
|
||
bTestLamp = er_anal(GpioDataRegs.GPADAT.bit.GPIO26, &INcount0, 1000, 0);
|
||
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO27) butt +=0x0001; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO27) butt +=0x0001;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO24) butt +=0x0002; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO24) butt +=0x0002;
|
||
/* Проверяет if(GpioDataRegs.GPBDAT.bit.GPIO53) butt +=0x0004; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPBDAT.bit.GPIO53) butt +=0x0004;
|
||
/* Проверяет if(GpioDataRegs.GPBDAT.bit.GPIO50) butt +=0x0008; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPBDAT.bit.GPIO50) butt +=0x0008;
|
||
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO26) butt +=0x0010; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO26) butt +=0x0010;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO23) butt +=0x0020; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO23) butt +=0x0020;
|
||
/* Проверяет if(GpioDataRegs.GPBDAT.bit.GPIO52) butt +=0x0040; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPBDAT.bit.GPIO52) butt +=0x0040;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO4 ) butt +=0x0080; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO4 ) butt +=0x0080;
|
||
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO25) butt +=0x0100; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO25) butt +=0x0100;
|
||
/* Проверяет if(GpioDataRegs.GPBDAT.bit.GPIO49) butt +=0x0200; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPBDAT.bit.GPIO49) butt +=0x0200;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO11) butt +=0x0400; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO11) butt +=0x0400;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO5 ) butt +=0x0800; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO5 ) butt +=0x0800;
|
||
|
||
/* Проверяет if(GpioDataRegs.GPBDAT.bit.GPIO48) butt +=0x1000; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPBDAT.bit.GPIO48) butt +=0x1000;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO10) butt +=0x2000; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO10) butt +=0x2000; // Секретный вход
|
||
|
||
/* Записывает Inputs.all значением butt; представление регистра целым словом без разбиения на битовые поля. */
|
||
Inputs.all = butt;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Проверяет if(Desk==dsk_LOAD); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_LOAD)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
/* Проверяет if(!GpioDataRegs.GPADAT.bit.GPIO6) butt +=0x0001; последующий оператор выполняется только при истинном условии. */
|
||
if(!GpioDataRegs.GPADAT.bit.GPIO6) butt +=0x0001; // OMEGA
|
||
/* Проверяет if(!GpioDataRegs.GPADAT.bit.GPIO8) butt +=0x0002; последующий оператор выполняется только при истинном условии. */
|
||
if(!GpioDataRegs.GPADAT.bit.GPIO8) butt +=0x0002; // Start_1
|
||
/* Проверяет if(!GpioDataRegs.GPADAT.bit.GPIO11) butt +=0x0004; последующий оператор выполняется только при истинном условии. */
|
||
if(!GpioDataRegs.GPADAT.bit.GPIO11) butt +=0x0004; // Res_in
|
||
|
||
/* Записывает Inputs.all значением butt; представление регистра целым словом без разбиения на битовые поля. */
|
||
Inputs.all = butt;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Проверяет if(Desk==dsk_SHKF); последующий оператор выполняется только при истинном условии. */
|
||
if(Desk==dsk_SHKF)
|
||
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
|
||
{
|
||
|
||
/* Проверяет if(GpioDataRegs.GPBDAT.bit.GPIO53) fluf += 0x0000010; else butt += 0x0001; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPBDAT.bit.GPIO53) fluf += 0x0000010; else butt += 0x0001;
|
||
/* Проверяет if(GpioDataRegs.GPBDAT.bit.GPIO52) fluf += 0x0000040; else butt += 0x0002; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPBDAT.bit.GPIO52) fluf += 0x0000040; else butt += 0x0002;
|
||
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO2) fluf += 0x0001000; else butt += 0x0004; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO2) fluf += 0x0001000; else butt += 0x0004;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO4) fluf += 0x0002000; else butt += 0x0008; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO4) fluf += 0x0002000; else butt += 0x0008;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO6) fluf += 0x0004000; else butt += 0x0010; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO6) fluf += 0x0004000; else butt += 0x0010;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO0) fluf += 0x0008000; else butt += 0x0020; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO0) fluf += 0x0008000; else butt += 0x0020;
|
||
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO8) fluf += 0x0010000; else butt += 0x0040; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO8) fluf += 0x0010000; else butt += 0x0040;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO10) fluf += 0x0020000; else butt += 0x0080; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO10) fluf += 0x0020000; else butt += 0x0080;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO3) fluf += 0x0040000; else butt += 0x0100; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO3) fluf += 0x0040000; else butt += 0x0100;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO5) fluf += 0x0080000; else butt += 0x0200; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO5) fluf += 0x0080000; else butt += 0x0200;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO7) fluf += 0x0100000; else butt += 0x0400; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO7) fluf += 0x0100000; else butt += 0x0400;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO1) fluf += 0x0200000; else butt += 0x0800; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO1) fluf += 0x0200000; else butt += 0x0800;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO11) fluf += 0x0400000; else butt += 0x1000; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO11) fluf += 0x0400000; else butt += 0x1000;
|
||
/* Проверяет if(GpioDataRegs.GPADAT.bit.GPIO9) fluf += 0x0800000; else butt += 0x2000; последующий оператор выполняется только при истинном условии. */
|
||
if(GpioDataRegs.GPADAT.bit.GPIO9) fluf += 0x0800000; else butt += 0x2000;
|
||
|
||
/* Записывает DigErr.all значением fluf; представление регистра целым словом без разбиения на битовые поля. */
|
||
DigErr.all = fluf;
|
||
/* Записывает Inputs.all значением butt; представление регистра целым словом без разбиения на битовые поля. */
|
||
Inputs.all = butt;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|
||
|
||
/* Записывает butt значением 1 * !GpioDataRegs.GPADAT.bit.GPIO21; данные butt. */
|
||
butt = 1 * !GpioDataRegs.GPADAT.bit.GPIO21;
|
||
/* Увеличивает butt значением 2 * !GpioDataRegs.GPADAT.bit.GPIO20; данные butt. */
|
||
butt += 2 * !GpioDataRegs.GPADAT.bit.GPIO20;
|
||
/* Увеличивает butt значением 4 * !GpioDataRegs.GPADAT.bit.GPIO22; данные butt. */
|
||
butt += 4 * !GpioDataRegs.GPADAT.bit.GPIO22;
|
||
/* Увеличивает butt значением 8 * !GpioDataRegs.GPBDAT.bit.GPIO51; данные butt. */
|
||
butt += 8 * !GpioDataRegs.GPBDAT.bit.GPIO51;
|
||
|
||
/* Записывает Jumpers значением butt; данные Jumpers. */
|
||
Jumpers = butt;
|
||
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
|
||
}
|