AT45DB321D_ERR.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Файл с кодами ошибок для AT45DB321D.
  2. // v 1.2 от 22/07/15
  3. // Автор: Сычев А
  4. #ifndef AT45DB321D_ERR_H
  5. #define AT45DB321D_ERR_H
  6. typedef enum
  7. {
  8. //--- коды расширенного статуса выполнения ----------------------------
  9. // защита от стирания/записи
  10. FLERR_PROTECT_ENABLED = 0xdeed, // установлена защита
  11. FLERR_PROTECT_DISABLED = 0xbeef, // защита не установлена
  12. //--- коды успешного выполнения ---------------------------------------
  13. FLERR_SUCCESS = 0, // успешное выполнение команды
  14. //--- коды ошибочного выполнения ---------------------------------------
  15. // коды ошибок инициализации
  16. FLERR_LL_INITFAIL_NOTFOUND =-1, // ID микросхемы прочитан как All-FF, что означает, что чип отсутствует.
  17. FLERR_LL_INITFAIL_WRONGID =-2, // неверный ID микросхемы (Manufacturer ID)
  18. FLERR_LL_INITFAIL_WRONGDENSITY =-3, // неверный размер микросхемы (Density)
  19. FLERR_LL_INITFAIL_WRONGFAMILY =-4, // неверный семейство микросхемы (Family)
  20. FLERR_LL_INITFAIL_PAGESIZE =-5, // неверный размер страницы.
  21. // Причина: Выбран режим эмуляции страницы по 512 байт, либо выбран режим 528 байт
  22. // когда в чипе установлен фиксированный размер страницы 512 байт.
  23. // Необходимо объявить макрос AT45DB321D_PRM512 в файле "AT45DB321D_CONF.h"
  24. // коды общих ошибок
  25. FLERR_TIMEOUT =-6, // таймаут операций API
  26. // Причина: устройство занято
  27. FLERR_INVALID_PARAMETER =-7, // Ошибка в переданном параметре. см. описание функции
  28. FLERR_GENERIC_ERROR =-8, // Ошибка выполнения команды.
  29. // Причина зависит от функции
  30. FLERR_VERIFY_ERROR =-9, // Ошибка верификации данных во время записи flash_write()
  31. FLERR_INVALID_BUFFER =-10, // Ошибка: неверный буфер / недостаточно места в буфере
  32. FLERR_WRONG_CONTEXT =-16, // Ошибка: неправильный контекст (не используется 17/04/19)
  33. // Причина: функция требует выполнения только в контексте задачи или прерывания
  34. // коды фатальных ошибок
  35. FLERR_UNEXPECTED_BUSY =-32, // Ошибка, устройство занято во время критической операции. Условия выполнения
  36. // функции нарушены, результат не гарантируется. Ожидаемое состояние устройства
  37. // не гарантируется. Причина: устройство возвращает статус "занято" по истечении
  38. // критического таймаута.
  39. }
  40. flash_err_t;
  41. #define FLASH_SUCCESS(err) (((err) >= FLERR_SUCCESS)?((__FLASH_DWORD)(-1)):0ul)
  42. #define FLASH_ERROR(err) (((err) < FLERR_SUCCESS)?((__FLASH_DWORD)(-1)):0ul)
  43. #endif