diff --git a/Core/Src/IR_CMD_HandlerLogic.c b/Core/Src/IR_CMD_HandlerLogic.c index 57f5eef..55b8f69 100644 --- a/Core/Src/IR_CMD_HandlerLogic.c +++ b/Core/Src/IR_CMD_HandlerLogic.c @@ -203,89 +203,89 @@ void IR_Home_Process() { ///////////////////////////////////////////////////////// case IR_FONT_RIGHT: - for (int i = 0; i <= 100; ++i) { - led_progressbar(0, 19, i); - HAL_Delay(10); - } - led_clear(); +// for (int i = 0; i <= 100; ++i) { +// led_progressbar(0, 19, i); +// HAL_Delay(10); +// } +// led_clear(); break; case IR_FRONT_MID: { - uint8_t i2c_address; - HAL_StatusTypeDef result; - - print("Scan\n"); - - // Перебираем все возможные адреса на шине I2C (7 бит, от 0x08 до 0x77) - for (i2c_address = 0x08; i2c_address <= 0x77; i2c_address++) { - // Отправляем запрос на указанный адрес (HAL_I2C_Master_Transmit без данных) - result = HAL_I2C_IsDeviceReady(&hi2c1, (i2c_address << 1), 1, 100); - - if (result == HAL_OK) { - // Если устройство отвечает, выводим его адрес - print("Found I2C at: "); - printNumber(i2c_address); - print("\n"); - } else { - // Если устройство не отвечает, продолжаем сканирование - print("."); - } - HAL_Delay(10); // Задержка для стабильности сканирования - } - - print("\nScanning completed.\n"); - } +// uint8_t i2c_address; +// HAL_StatusTypeDef result; +// +// print("Scan\n"); +// +// // Перебираем все возможные адреса на шине I2C (7 бит, от 0x08 до 0x77) +// for (i2c_address = 0x08; i2c_address <= 0x77; i2c_address++) { +// // Отправляем запрос на указанный адрес (HAL_I2C_Master_Transmit без данных) +// result = HAL_I2C_IsDeviceReady(&hi2c1, (i2c_address << 1), 1, 100); +// +// if (result == HAL_OK) { +// // Если устройство отвечает, выводим его адрес +// print("Found I2C at: "); +// printNumber(i2c_address); +// print("\n"); +// } else { +// // Если устройство не отвечает, продолжаем сканирование +// print("."); +// } +// HAL_Delay(10); // Задержка для стабильности сканирования +// } +// +// print("\nScanning completed.\n"); +// } break; case IR_FRONT_LEFT: { - uint8_t buf[1024]; // Буфер для чтения данных размером 128 байт - uint16_t blockAddr16 = START_ADR_MACRO; // Начальный адрес EEPROM - uint8_t blockAddr[2] = { (uint8_t) (blockAddr16 >> 8), - (uint8_t) (blockAddr16 & 0xFF) }; // Адрес в формате 2 байта - int max_attempts = 15; // Максимальное количество попыток для операции - int attempts = 0; // Счетчик попыток - HAL_StatusTypeDef status; - - do { - // Отправляем адрес в EEPROM - status = HAL_I2C_Master_Transmit(&hi2c1, (AT24C_ADRESS << 1), - blockAddr, 2, 1000); - if (status != HAL_OK) { - HAL_Delay(1); // Задержка перед повтором - attempts++; - continue; // Переход к следующей попытке - } - - HAL_Delay(1); // Небольшая задержка - - // Читаем 128 байт данных из EEPROM - status = HAL_I2C_Master_Receive(&hi2c1, (AT24C_ADRESS << 1) | 1, - buf, sizeof(buf), 1000); - if (status == HAL_OK) { - // Данные успешно считаны, выводим их - char buffer[16]; - for (int i = 0; i < sizeof(buf); ++i) { - if (i % 8 == 0) - print(" "); - if (i % 32 == 0) - print("\n"); - - snprintf(buffer, sizeof(buffer), "%02X ", buf[i]); // Преобразуем байт в шестнадцатеричную строку - CDC_Transmit_FS((uint8_t*) buffer, strlen(buffer)); - } - break; // Выход из попыток, если чтение успешно - } else { - print("Read Error EEPROM\n"); - HAL_Delay(1); // Задержка перед повтором - attempts++; - } - } while (attempts < max_attempts); - - if (status != HAL_OK) { - print("Failed to read EEPROM after multiple attempts\n"); - } - print("\n\n\n"); - } +// uint8_t buf[1024]; // Буфер для чтения данных размером 128 байт +// uint16_t blockAddr16 = START_ADR_MACRO; // Начальный адрес EEPROM +// uint8_t blockAddr[2] = { (uint8_t) (blockAddr16 >> 8), +// (uint8_t) (blockAddr16 & 0xFF) }; // Адрес в формате 2 байта +// int max_attempts = 15; // Максимальное количество попыток для операции +// int attempts = 0; // Счетчик попыток +// HAL_StatusTypeDef status; +// +// do { +// // Отправляем адрес в EEPROM +// status = HAL_I2C_Master_Transmit(&hi2c1, (AT24C_ADRESS << 1), +// blockAddr, 2, 1000); +// if (status != HAL_OK) { +// HAL_Delay(1); // Задержка перед повтором +// attempts++; +// continue; // Переход к следующей попытке +// } +// +// HAL_Delay(1); // Небольшая задержка +// +// // Читаем 128 байт данных из EEPROM +// status = HAL_I2C_Master_Receive(&hi2c1, (AT24C_ADRESS << 1) | 1, +// buf, sizeof(buf), 1000); +// if (status == HAL_OK) { +// // Данные успешно считаны, выводим их +// char buffer[16]; +// for (int i = 0; i < sizeof(buf); ++i) { +// if (i % 8 == 0) +// print(" "); +// if (i % 32 == 0) +// print("\n"); +// +// snprintf(buffer, sizeof(buffer), "%02X ", buf[i]); // Преобразуем байт в шестнадцатеричную строку +// CDC_Transmit_FS((uint8_t*) buffer, strlen(buffer)); +// } +// break; // Выход из попыток, если чтение успешно +// } else { +// print("Read Error EEPROM\n"); +// HAL_Delay(1); // Задержка перед повтором +// attempts++; +// } +// } while (attempts < max_attempts); +// +// if (status != HAL_OK) { +// print("Failed to read EEPROM after multiple attempts\n"); +// } +// print("\n\n\n"); +// } break; default: