Перенести исправления строба индикации из 167
Перенести настройки таймингов из13e5bfe373и относящуюся к индикации часть04a9d989fb. Сохранить текущую последовательность DATA/CLOCK ветки 167, удерживать TESTLAMP при кратких провалах входа и исключить повторный вход Timer1. Адаптировать тесты TESTLAMP к типу накопителя и кодировкам проекта 166. Сохранить изменённые исходники и русские комментарии в UTF-8. Проверка: поведенческие и мутационные тесты TESTLAMP, полная сборка 27 модулей TI C2000 21.12.0.STS и линковка, образ SCI8 30174 байта, компиляция канала индикации с общей оптимизацией -O3.
This commit is contained in:
+14
-13
@@ -1,8 +1,8 @@
|
||||
/* Выбор типа платы, направления GPIO и чтение входов. get_Mode
|
||||
* читает аппаратный адрес и выбирает Desk. Один вывод в разных
|
||||
* режимах может иметь разное назначение. Для нагрузки START=GPIO62,
|
||||
* STOP=GPIO58, RES_OUT_2=GPIO3 (активный ноль). Направления заданы
|
||||
* в GPIO_table.h; изменение распиновки требует сверки со схемой.
|
||||
/* Выбор типа платы, направления GPIO и чтение входов. get_Mode
|
||||
* читает аппаратный адрес и выбирает Desk. Один вывод в разных
|
||||
* режимах может иметь разное назначение. Для нагрузки START=GPIO62,
|
||||
* STOP=GPIO58, RES_OUT_2=GPIO3 (активный ноль). Направления заданы
|
||||
* в GPIO_table.h; изменение распиновки требует сверки со схемой.
|
||||
*/
|
||||
#include "DSP2833x_Device.h" // DSP281x Headerfile Include File
|
||||
#include "filter_bat2.h"
|
||||
@@ -51,10 +51,10 @@ void get_Mode()
|
||||
{
|
||||
EALLOW;
|
||||
|
||||
GpioCtrlRegs.GPAMUX1.all &= 0xFF000000; // 00—11
|
||||
GpioCtrlRegs.GPAMUX2.all &= 0xFF00003F; // 19—27
|
||||
GpioCtrlRegs.GPBMUX1.all &= 0xFFFFFFC0; // 32—34
|
||||
GpioCtrlRegs.GPBMUX2.all &= 0x000FF000; // 48—53, 58—63
|
||||
GpioCtrlRegs.GPAMUX1.all &= 0xFF000000; // Обнуляет двухбитовые поля MUX для GPIO0–11 по карте регистров TMS320F28335, выбирая обычный GPIO и сохраняя назначение GPIO12–15.
|
||||
GpioCtrlRegs.GPAMUX2.all &= 0xFF00003F; // Выбирает обычный GPIO для выводов 19–27: маска сохраняет поля GPIO16–18 и GPIO28–31 в двухбитовой таблице MUX.
|
||||
GpioCtrlRegs.GPBMUX1.all &= 0xFFFFFFC0; // Обнуляет младшие шесть битов MUX, переводя GPIO32–34 в режим обычных входов или выходов без изменения остальных выводов банка.
|
||||
GpioCtrlRegs.GPBMUX2.all &= 0x000FF000; // Сохраняет поля GPIO54–57 и переводит GPIO48–53 и GPIO58–63 в обычный GPIO согласно двухбитовой раскладке GPBMUX2.
|
||||
|
||||
GpioCtrlRegs.GPADIR.bit.GPIO20 = 0;
|
||||
GpioCtrlRegs.GPADIR.bit.GPIO21 = 0;
|
||||
@@ -187,7 +187,7 @@ void get_Buttons()
|
||||
Inputs.all = butt;
|
||||
}
|
||||
|
||||
/* Ничего такого в действительности нет
|
||||
/* Ничего такого в действительности нет
|
||||
if(Desk==dsk_BKST)
|
||||
{ bSecretBt = !GpioDataRegs.GPBDAT.bit.GPIO63;
|
||||
InputRep1 = bSecretBt;
|
||||
@@ -205,7 +205,8 @@ void get_Buttons()
|
||||
|
||||
if(Desk==dsk_EPLT)
|
||||
{
|
||||
bTestLamp = er_anal(GpioDataRegs.GPADAT.bit.GPIO26, &INcount0, 1000, 0);
|
||||
/* Сохраняет TESTLAMP до достижения порога фильтра: 1000 означает число опросов главного цикла, а bTestLamp удерживает прежний режим при кратком провале GPIO26, чтобы рабочие маски не прерывали тест индикации. */
|
||||
bTestLamp = er_anal(GpioDataRegs.GPADAT.bit.GPIO26, &INcount0, 1000, bTestLamp);
|
||||
|
||||
if(GpioDataRegs.GPADAT.bit.GPIO27) butt +=0x0001;
|
||||
if(GpioDataRegs.GPADAT.bit.GPIO24) butt +=0x0002;
|
||||
@@ -223,7 +224,7 @@ void get_Buttons()
|
||||
if(GpioDataRegs.GPADAT.bit.GPIO5 ) butt +=0x0800;
|
||||
|
||||
if(GpioDataRegs.GPBDAT.bit.GPIO48) butt +=0x1000;
|
||||
if(GpioDataRegs.GPADAT.bit.GPIO10) butt +=0x2000; // Секретный вход
|
||||
if(GpioDataRegs.GPADAT.bit.GPIO10) butt +=0x2000; // Публикует активный секретный вход GPIO10 в бите 13 слова Inputs; маска 0x2000 задаёт назначенную ему позицию протокола.
|
||||
|
||||
Inputs.all = butt;
|
||||
}
|
||||
@@ -267,4 +268,4 @@ void get_Buttons()
|
||||
butt += 8 * !GpioDataRegs.GPBDAT.bit.GPIO51;
|
||||
|
||||
Jumpers = butt;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user