mirror of
https://github.com/DashyFox/StackSport.git
synced 2025-05-04 15:20:16 +00:00
no debug on front
This commit is contained in:
parent
1d28156c0c
commit
53bf72d071
@ -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:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user