Перейти к содержанию
    

Лог 4х3 удаленных датчиков

Требуется софт для снятия и запоминания показаний с нескольких (до 4х достаточно) удаленных устройств, до 3х датчиков в каждом, для дальнейшей загрузки в PC

 

Мастер - ATmega128

Слейвы - ATmega88

Интерфейсы - RS485, RS232

Память - AT45DB161D

RTC - DS1338C

Среда - AVRStudio/GCC, MS VS 2005/C#/C++/C

Читаемость кода - одно из важных условий.

 

Предлагаю 300 рублей за функцию (это, например, сбор и усреднение данных с АЦП либо прием команд и передача ответов через интерфейс и т.д.).

Права на код не эксклюзивные - не запрещаю использовать код в своих дальнейших разработках.

С продажи третьей и последующих систем, если таковые вдруг(не сильно надейтесь) будут, будут кой-какие авторские.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это шутка или рубли американские? :cranky: Если даже какой-то "бомж, пишущий на Си за еду" :) вам напишет одну-две-три функции кто будет их совокуплять в работающую программу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Слейв:

Датчики - ADC2, ADC3, ADC4

RS485 - RXD, TXD, PD2, 9600/8/1

LED - PC5

Тактовая - 16MHz

 

Нужно получить среднее, между запросами мастера, значение по каждому каналу ADC, разрядность 16 бит.

Да, измеряется переменный ток, поэтому требуется усреденение абсолютных значений, относительно 0, за который принмается половина опорного, либо среднее значение за несколько периодов (50гц) сети, в зависимости от того, как будет точнее(думаю, второй вариант).

Частота запросов мастера, для определенности, в интервале 1минута..1час.

Частота опроса ADC чуть ниже максимально-рекомендованной.

 

В протоколе, похоже, две команды:

1 - установить номер слейва (1 байт) на шине по его уникальному 16 байтовому идентификатору.

2 - получить состояние устройства - 3x2 байта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это шутка или рубли американские? Если даже какой-то "бомж, пишущий на Си за еду" :) вам напишет одну-две-три функции

Ну, функция - понятие растяжимое.

Вот например за вчерашний день я сочинил пяток функций типа

SendByte(...),

WriteRegister(...),

соответственно Read - 2 штуки, и ещё чего-то.(ADC_Init()) Для обмена по СПИ с AD7708.

 

Такшта... 5*300=1500. Мне работодатель меньше платит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это шутка или рубли американские? :cranky:

Серьезно; рубли российские.

 

Если даже какой-то "бомж, пишущий на Си за еду" :) вам напишет одну-две-три функции кто будет их совокуплять в работающую программу?

Предполагается, но не настаиваю, что это будет один и тот же человек.

Предполагается, но не настаиваю, что аналогичный код уже был написан и отлажен и требуется лишь подправить файл конфигурации.

Кстати, для реальных профи, кому действительно есть что сказать, разработка методом copy/paste займет весма малое время, т.е. удельная оплата их не обидит. Ну и молодым, тоже - везде у нас дорога ©

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так таки 16 бит! Наверное, имеется в виду, что аппаратная часть уже решена?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Серьезно; рубли российские.

Предполагается, но не настаиваю, что это будет один и тот же человек.

Предполагается, но не настаиваю, что аналогичный код уже был написан и отлажен и требуется лишь подправить файл конфигурации.

Кстати, для реальных профи, кому действительно есть что сказать, разработка методом copy/paste займет весма малое время, т.е. удельная оплата их не обидит. Ну и молодым, тоже - везде у нас дорога ©

Да, у нас есть такой софт, работающий в системах управления энергоустановками. Протокол опроса датчиков - Modbus поверх RS-485. Сейчас смотрел исходники - насчитал порядка 1500 функций. Берёте ? Серьёзно, за российские рубли - по 300 рублей за функцию.

Кстати, можем продать не все функции, а только те, на которые у Вас денег хватит. :smile3046:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так таки 16 бит! Наверное, имеется в виду, что аппаратная часть уже решена?

Да, решена.

Дополнительные 6 бит возникают из-за усреднения, и, более того, из-за произвольного периода опроса промежуточная сумма может быть более 16 бит, но результат должен быть нормирован до 16 бит. Про 16-битовую _точность_ разговор не идет, это форма представления.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас смотрел исходники - насчитал порядка 1500 функций.

Имеются в виду не функции языка С, а функции устройства.

Т.е., например, вынесение инциализации ADC из main{} в отдельную функцию языка С, функциональности устройству не добавляет. Конечно, это не означает, что так выносить нельзя.

Но 1500 функций в mega8, только их вызовы и возвраты из них, полностью займут всю память и полезная функциональность таких исходников будет равна нулю.

 

Кстати, можем продать не все функции, а только те, на которые у Вас денег хватит.

У клиента. Думаю, его не заинтересует Ваше предложение. В таком виде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В моем приборе всего 4 функции (по вашей терминологии ):

- измерение.

- обработка результатов измерения,

- связь физического уровня,

- связь протокольного уровня.

Плачу 300 российских рублей. За каждую!

Вот так нужно было формулировать ваше предложение. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предложение, конечно, невысокое, но всегда можно встречное сделать. Кому нибудь будет приработок. Предложений работы не так много.

Чего кипятится, посмотрите результаты опроса по з.п.

Или в Перми платят как в Москве?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предложение, конечно, невысокое, но всегда можно встречное сделать. Кому нибудь будет приработок. Предложений работы не так много.

Чего кипятится, посмотрите результаты опроса по з.п.

Или в Перми платят как в Москве?

А дело то в том что в Москве уже практически и не пишут а валят например в Пермь. И это не шутка, а скорее норма.

 

Про функции устройства и 300 р - крепко насмешили. Я когда оцениваю производительность и сроки на работу то исхожу из расчета SLOCов - исходных строк кода. Причем я примерно знаю что регулярный код где нет заморочек я питшу в среднем 400 строк в месяц. Сильно усреднено но примерно так. Дальше я ввожу поправки на сложность . Если пишется аппаратное устройство (там таймер или еще какая приблуда в процессоре) с которым работаю в первый раз, то коэффициент порядка 10, это значит что под работу с этой аппаратной штучкой я буду работать с производительностью 40 строк в месяц. Если пишется обмен с устройством в котором все работает и не очень сложно , то часть кода отвечающая за обмен пишется с коэффициентом 3 т е около 130 строк в месяц. Если обмен нужно отлаживать с двух сторон или разрабатывать протокол то коэффициент 5 иои больше.

 

При прикидке сроков ориентируюсь на предыдущие работы - там примерно понятно сколько строчек какой блок занимает.

 

Теперь про цифру 400 строк в месяц. Америкашки примерно так и оценивают производительность труда программеров. Для этого служит модель учета сложности кода и производительности COCOMA 2(в ней учитывается сложность кода и объем кода на основании анализа разработок американских программеров). Ориентировочно они считают что в год программер пишет 4000-6000 SLOC - документированных строк кода.

 

Я зачем все это написал:

 

Таперича про 300 р за функцию, боюсь, что даже для энтузиастов не серьезно. А там надо возиться и возиться как с обменом так и памятью . Микросхемка то ведь не простая - там целая система команд. И не зря у нее есть вывод сброса (!!!!). Я когда ковырялся , то понял зачем :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь про цифру 400 строк в месяц. Америкашки примерно так и..

...

я буду работать с производительностью 40 строк в месяц

В конце 80x работал у меня на VEF-e один программер - он тоже где-то вычитал про американцев и сколько-то строк в месяц, и занудно пел эту песню непрерывно. Через несколько лет он стал печником. Без всякой иронии - очень хорошим печником.

 

Теперь к теме - пожалуй всем стало однозначно ясно с количеством российских рублей у "заказчика" и размерами мечтаний "исполнителей", посему просьба от дальнейших увещеваний "заказчика" воздержаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь про цифру 400 строк в месяц. Америкашки примерно так и оценивают производительность труда программеров.

Такая производительность была нормальной, когда деревья компьютеры были большие, т.е. лет 30 назад. С той поры в мире кое-что поменялось. Но допускаю, что не для всех.

 

Таперича про 300 р за функцию, боюсь, что даже для энтузиастов не серьезно.

Даже если исходить из 400 строк и $400 в месяц, т.е. $1 за строку, то, например, инициализация ADC вместе с получением и записью результата - дюжина строк, т.о. даже меньше, чем 300 рублей.

А сложность работы со сложными устройствами, у которых даже есть пин ресет!, решается очень легко при наличии библиотеки и вызовом инициализация/чтение/запись, по одной строке, т.е. рублей так на 75. По Вашей системе. С другой строны, если хочется писать с нуля, то дело хозяйское, но учтите, мне не нужна Ваша работа(в смысле, в джоулях), а нужен результат.

 

 

В первом приближении большая часть задачи решена.

На данный момент актуальны: работа с RTC, флешкой и тулза для PC, для слива данных.

DS1338C - SDA, SCL

AT45DB161D - MOSI, MISO, SCK, SS

тулза - 9600,8,1, формирование пакетов - SLIP,CRC16(0x8005)

команды - читать сектор, очистить сектор, установить текущее время

Впрочем, тулзу я, возможно, сам напишу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...