no debug on front

This commit is contained in:
DashyFox 2024-10-03 21:37:30 +03:00
parent 1d28156c0c
commit 53bf72d071

View File

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