Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
25.04.2017, 16:33
|
|
Вид на жительство
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
Сообщение от Someone
|
Найн. Задача сохранять и загружать настройки в файл. Что вовсе не обязательно текстовый.
|
Йа, ТС написал, что в текстовый, значит надо в текстовый. И не только настройки. Это потом пошли советы писать бинарно. Хотя, может ТС неправильно выразился, а мой старый "компилятор" неправильно понял. Бинарно - конечно будет попроще для реализации в отдельном устройстве, главное не забыть про порядок байт и упакованность/неупакованность структур и другие тонкости, если устройство будет не одно да ещё на разных архитектурах.
Осциллограммы обработанные и "сырые" как-то странно хранить в тексте, но можно. Хотя до 2К байт с осциллограммами вряд-ли получится.
Но в любом случае лучше использовать что-нибудь более-менее стандартное. Тогда и на PC будет проще это обрабатывать, если придётся. Тем более, что "Требуется обмен с другими системами", так что нежелание ТС изобретать свой велосипед вполне понятно.
|
|
|
|
25.04.2017, 20:16
|
|
Гражданин KAZUS.RU
Регистрация: 16.06.2005
Сообщений: 943
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
Сообщение от H4LF
|
Йа, ТС написал, что в текстовый, значит надо в текстовый.
|
Неа. Текст - это его вариант решения задачи
Сообщение от MisterDi
|
реализовать набор пресетов.
|
Да, вариант в принципе рабочий, но зело геморройный. Вот например, есть у него в этом текстовом файле имя переменной и её значение. Зачем имя? Только для того, чтобы прочитав строку текста, выделить имя переменной, и если имя = "переменная1", выполнить в программе строку переменная1 = itoa(остаток строки)? Ему ведь потребуется помнить все переменные по имени, типу. Такие проверки строки сгенерируют до хрена кода (относительно встраиваемых, но он-то для такой системы и ищет решение) и выполняться будут не быстро. При добавлении или удалении в программу переменной, надо будет добавлять/убирать её обработку в процедуру чтения и записи, а может и ещё в каких местах программы.
Имея же структуру, всего-то требуется организовать цикл, от 0 до sizeof(структуры) и писать/читать по одному байту, через массив или указатель. Не требуется помнить названия переменных, их количество, тип, переделывать код чтения/записи при добавлении/удалении переменных - структура будет всегда
записана/считана полностью.
Последний раз редактировалось Someone; 25.04.2017 в 20:20.
|
|
|
|
25.04.2017, 20:20
|
|
Гражданин KAZUS.RU
Регистрация: 16.06.2005
Сообщений: 943
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
Сообщение от H4LF
|
Хотя до 2К байт с осциллограммами вряд-ли получится.
|
Так два кило у него бинарных данных. В текстовом виде, как он написал, будет раз в 10 больше объём.
|
|
|
|
25.04.2017, 20:34
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,532
Сказали Спасибо 11,770 раз(а) в 5,896 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
Осмелюсь догадаться, что текстовый вид нужен для глаз и возможности ручной корректировки.
Если в контроллере организовать структуру структур, которые, скажем, содержат имя переменной, ее адрес, тип и значение, причем (для человека) упорядоченную функционально, то все формирование сведется к одной функции. Так же и чтение в контроллер.
Совершенно нет нужды в произвольном порядке.
Одинаковые устройства с одинаковой легкостью справятся с этой непосильной задачей. Не стоит чрезмерно усложнять.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
26.04.2017, 03:12
|
|
Вид на жительство
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
Сообщение от Someone
|
Неа. Текст - это его вариант решения задачи
|
Ну да - мы тут как обычно ищем варианты решения задачи, о которой мало что известно. И ТС об этом даже не просил. Он спросил - известно ли кому-нибудь готовое решение(для эмбедда без ОС) для работы с текстовыми файлами конфигурации. Всё. Может действительно - планируется не только обмен настройками с другими устройствами, но и просмотр и редактирование человеками? Для бинарных - ещё программу писать надо, а текстовый редактор везде есть. Тогда лучше что-нибудь стандартное - как ini или как в никсах.
Но вот для осциллограмм имеет смысл использовать бинарный формат, как например *.wfm у Тектроникса: http://monitor.net.ru/forum/files/wfmtransfer_727.pdf
Но можно и в CSV, у Тектроникса, кстати, есть утилита перевода *.wfm в CSV. Пригодится, если нужно будет скормить данные в какой-нибудь MATLAB или Octave.
Сообщение от Someone
|
При добавлении или удалении в программу переменной, надо будет добавлять/убирать её обработку в процедуру чтения и записи, а может и ещё в каких местах программы.
|
Не надо будет добавлять/убирать её обработку - всё делается в одном цикле по указателям. Массивы указателей в одном месте - там же где объявляются переменные. Вы, видимо, или не читали или не поняли набросок велосипеда, который я написал от нечего делать (просто задача показалась интересной).
Преобразования в текст и обратно конечно займут время, но наверняка заметно меньше, чем запись на карту. Поиск строк тоже не займёт много времени, если весь файл будет в оперативной памяти. Но и без этого можно обойтись - названия могут записываться только для людей. Меня больше беспокоит валидация читаемого с карты. Чтобы неожидаемое содержимое не подвесило систему или ещё чего не натворило. Но это решаемо, тем более что ресурсов достаточно.
|
|
|
|
26.04.2017, 04:11
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
H4LF, ну так и для бинарных есть просмотр и редактирование.
И даже мелькали/встречались программы с возможностью структурного анализа таких потоков (кстати на основе чтения именно описывающих их структур в C нотации) в нормальном для человека формате.
И используя те самые структуры сделать утилиту по выводу/загрузке бинарного/текстового не составит особого труда.
Обработка текста в микроконтроллерах не совсем свойственная им задача. Все ресурсы ограничены и должны работать не на сервис, а основную задачу.
В таких решениях потом, при необходимости нарастить основной функционал, появится гораздо больше проблем с переделкой всего при нехватке ресурсов.
При отсутствии такого функционала лучше сразу в проекте заложить минимальное/номинальное решение и пакет утилит при необходимости, чем вести параллельный проект с обработкой и сопровождением тех текстовых данных.
Вопрос визуализации/редактирования данных человеком рассматривать с точки зрения достаточной целесообразности на все время жизни проекта.
Старый монах не зря огласил свой принцип - тут именно он должен стать основным критерием.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 26.04.2017 в 04:31.
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
26.04.2017, 04:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
Сообщение от mike-y-k
|
Если использовать правило по добавлению новых элементов в коней
|
Нажмите, чтобы открыть спойлер
|
|
|
Сказали "Спасибо" AR_Favorit
|
|
|
26.04.2017, 04:29
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
AR_Favorit Спасибо, поправил.
На автокорректор все наступают и даже с некоторой регулярностью.
"Всем свойственно ошибаться" - мрачно бормотал ёжик, слезая с кактуса.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 26.04.2017 в 04:37.
|
|
|
|
26.04.2017, 05:07
|
|
Вид на жительство
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
mike-y-k, Извините, я бы может ещё пофилософствовал о свойственных и несвойственных задачах для микроконтроллеров, удобности/неудобности специальных(и желательно кроссплатформенных) утилит, а заодно и постов бы понабивал... Но не люблю философию - когда из неизвестно откуда взятых предположений делают многозначительные выводы, а на основе этих выводов - ещё более многозначительные. Не конструктивно это. Вот откуда Вы знаете сколько ресурсов у микроконтроллера ТС? Ведь у него Nios II. И какая у него там основная задача? Может сохранение-загрузка с флешки и есть его основная задача, а всё остальное он делает в свободное от этого время?
Если ТС понадобится совет или появится вопрос - он спросит и, надеюсь, даст данные. Тогда можно будет прикидывать дальше.
|
|
|
|
26.04.2017, 12:25
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
|
Re: Сохранение и загрузка настроек в текством файле
H4LF, тут совсем не философия, а основы проектирования. По теме были уже и советы, и ссылки. От ТС пока нет информации в развитие темы. А опыт наступания на подобные грабли и выхода из ситуации таки никто не отменял. Такие (такого рода) решения и их последствия встречаются увы весьма часто. Не стоит столь формально сужать обсуждение до "каков вопрос - таков ответ" .
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:26.
|
|