Добрый день.
Все функции возвращают тип ASYNC_RET_VALUE
Описание этого типа есть в самой библиотеке
Вложение 44982
Коды ошибок попадают в переменную res (типа ASYNC_RET_VALUE).
Через CASE они обрабатываются без проблем.
Вид для печати
Добрый день.
Все функции возвращают тип ASYNC_RET_VALUE
Описание этого типа есть в самой библиотеке
Вложение 44982
Коды ошибок попадают в переменную res (типа ASYNC_RET_VALUE).
Через CASE они обрабатываются без проблем.
Путаницу с типами возвращаемого значения хорошо бы убрать:
https://ftp.owen.ru/CoDeSys23/05_Lib...bFileAsync.pdf
(в описании функции возвращают разные значения: и bool, и позицию, и количество записанных байтов, и результат ASYNC_RET_VALUE...)
и добавить описание входного/выходного параметра ADR(result).
И если все функции возвращают ASYNC_RET_VALUE, то как узнать, сколько байтов записала функция записи или позицию в файле? Достигнут ли конец файла?
Также хотелось бы знать, что надо делать при получении значений
ASYNC_PAUSED,
ASYNC_BLOCK_ACESS:
- снимать запрос и повторять через некоторое (какое?) время?
- ждать (сколько времени?) другого ответа, непрерывно повторяя запрос?
- или что-то еще?
Как можно определить, сколько осталось места на носителе?
Что произойдет, когда кончится место?
ASYNC_BLOCK_ACESS - Значит в пользовательском коде есть логическая ошибка
ASYNC_PAUSED - подождать и повторить запрос
Асинхронная библиотека это просто надстройка для асинхронного доступа над стандартной SysLibFile. И место на диске определяется аналогично как через SysLibFile
И функции возвращают 2 значения, состояние асинхронной машины и *когда возвратится DONE) - ответ соответствующей функции SysLibFile, через указатель.
В смысле свободное место на диске/флешке ?
И на флешке, и на виртуальном диске в памяти, и во флешь-памяти контроллера...
Это не syslibfile а к syslibdir.
Но походу до неё еще не дошли руки ))
РАЗМЕР СВОБОДНОГО МЕСТА=РАЗМЕР ДИСКА - СУММА(РАЗМЕРОВ ВСЕХ ФАЙЛОВ)
Надо хотя бы знать размер ram-диска и диска в контроллере. Я - не знаю.