Uart working

This commit is contained in:
2024-09-15 19:29:07 +03:00
parent 419c55d807
commit cad6b45c5d
21 changed files with 1187 additions and 697 deletions

View File

@ -43,7 +43,7 @@ MemoryStatus getShot(unsigned char number, Shot *shot) {
MemoryStatus saveProg(unsigned char number, Program *prog) {
MemoryStatus result = EEPROM_OK;
for (uint16_t i = 0; i < MAX_NUMBER_SHOTS_IN_PROGRAMS; ++i) {
for (uint16_t i = 0; i < MAX_SHOT_COUNT_IN_PROGRAMS; ++i) {
Shot shot;
MemoryStatus stat = getShot(prog->shots[i].id, &shot);
if (!(stat == EEPROM_OK || stat == EEPROM_MISSING_ELEMENT)) {
@ -77,7 +77,7 @@ MemoryStatus getProg(unsigned char number, Program *prog) {
MemoryStatus saveMacro(unsigned char number, Macro *macro) {
MemoryStatus result = EEPROM_OK;
for (uint16_t i = 0; i < MAX_NUMBER_PROGRAMS_IN_MACRO; ++i) {
for (uint16_t i = 0; i < MAX_PROGRAM_COUNT_IN_MACRO; ++i) {
Program prog;
MemoryStatus stat = getProg(macro->programs[i].id, &prog);
if (!(stat == EEPROM_OK || stat == EEPROM_MISSING_ELEMENT)) {
@ -246,9 +246,9 @@ MemoryStatus FLASH_WriteBlock(uint16_t startAddr, uint8_t number,
HAL_StatusTypeDef result;
// Проверка на корректность входных данных
if ((startAddr == START_ADR_SHOT && number > MAX_NUMBER_SHOTS)
|| (startAddr == START_ADR_PROGRAM && number > MAX_NUMBER_PROGRAMS)
|| (startAddr == START_ADR_MACRO && number > MAX_NUMBER_MACRO)) {
if ((startAddr == START_ADR_SHOT && number >= MAX_SHOT_COUNT)
|| (startAddr == START_ADR_PROGRAM && number >= MAX_PROGRAM_COUNT)
|| (startAddr == START_ADR_MACRO && number >= MAX_MACRO_COUNT)) {
return EEPROM_OUT_OF_RANGE;
}
@ -278,9 +278,9 @@ MemoryStatus FLASH_ReadBlock(uint16_t startAddr, uint8_t number,
HAL_StatusTypeDef result;
// Проверка на корректность входных данных
if ((startAddr == START_ADR_SHOT && number > MAX_NUMBER_SHOTS)
|| (startAddr == START_ADR_PROGRAM && number > MAX_NUMBER_PROGRAMS)
|| (startAddr == START_ADR_MACRO && number > MAX_NUMBER_MACRO)) {
if ((startAddr == START_ADR_SHOT && number > MAX_SHOT_COUNT)
|| (startAddr == START_ADR_PROGRAM && number > MAX_PROGRAM_COUNT)
|| (startAddr == START_ADR_MACRO && number > MAX_MACRO_COUNT)) {
return EEPROM_OUT_OF_RANGE;
}