| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // Файл с кодами ошибок для драйверов внешней флешпамяти
- // v 1.2 от 22/07/15
- // v 1.21 от 14/10/19
- // v 1.22 от 07/10/20
- // Автор: Сычев А
- #ifndef FLASHDRIVER_ERR_H
- #define FLASHDRIVER_ERR_H
- typedef enum
- {
- //--- коды расширенного статуса выполнения ----------------------------
- // защита от стирания/записи
- FLERR_PROTECT_ENABLED = 0xdeed, // установлена защита
- FLERR_PROTECT_DISABLED = 0xbeef, // защита не установлена
- //--- коды успешного выполнения ---------------------------------------
- FLERR_SUCCESS = 0, // успешное выполнение команды
- //--- коды ошибочного выполнения ---------------------------------------
- // коды ошибок инициализации
- FLERR_LL_INITFAIL_NOTFOUND =-1, // ID микросхемы прочитан как All-FF, что означает, что чип отсутствует.
- FLERR_LL_INITFAIL_WRONGID =-2, // неверный ID микросхемы (Manufacturer ID)
- FLERR_LL_INITFAIL_WRONGDENSITY =-3, // неверный размер микросхемы (Density)
- FLERR_LL_INITFAIL_WRONGFAMILY =-4, // неверный семейство микросхемы (Family)
- FLERR_LL_INITFAIL_PAGESIZE =-5, // неверный размер страницы.
- // Причина: Выбран режим эмуляции страницы по 512 байт, либо выбран режим 528 байт
- // когда в чипе установлен фиксированный размер страницы 512 байт.
- // Необходимо объявить макрос AT45DB161E_PRM512 в файле "AT45DB161E_CONF.h"
- // коды общих ошибок
- FLERR_TIMEOUT =-6, // таймаут операций API
- // Причина: устройство занято
- FLERR_INVALID_PARAMETER =-7, // Ошибка в переданном параметре. см. описание функции
- FLERR_GENERIC_ERROR =-8, // Ошибка выполнения команды.
- // Причина зависит от функции
- FLERR_VERIFY_ERROR =-9, // Ошибка верификации данных во время записи flash_write()
- FLERR_INVALID_BUFFER =-10, // Ошибка: неверный буфер / недостаточно места в буфере
- FLERR_DEVICE_MALFUNCTION =-13, // Ошибка: непредсказуемое состояние, ошибка в работе чипа
- FLERR_WRONG_CONTEXT =-16, // Ошибка: неправильный контекст (не используется 17/04/19)
- // Причина: функция требует выполнения только в контексте задачи или прерывания
- // коды фатальных ошибок
- FLERR_UNEXPECTED_BUSY =-32, // Ошибка, устройство занято во время критической операции. Условия выполнения
- // функции нарушены, результат не гарантируется. Ожидаемое состояние устройства
- // не гарантируется. Причина: устройство возвращает статус "занято" по истечении
- // критического таймаута.
- }
- flash_err_t;
- #define FLASH_SUCCESS(err) (((err) >= FLERR_SUCCESS)?((__FLASH_DWORD)(-1)):0ul)
- #define FLASH_ERROR(err) (((err) < FLERR_SUCCESS)?((__FLASH_DWORD)(-1)):0ul)
- #endif
|