Гамма_3

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

UH9YAA писал(а):Да, но вроде как shodan собирается 16ую выложить скоро, так что может повремените, дабы дозик туда-сюда не разбирать
А зачем его разбирать?! Надо просто сделать в нем сервисный разъем!

16я версия готова.

Нашел 2 глюка компилятора, пришлось переписать часть кода.

Казалось бы почему наличие в коде функции с двумя параметрами (к примеру int blabla(int,int) ) недает нормально уснуть процессору....
Причем с момента старта эта функция ниразу не вызывалась, короче теперь буду смотреть всякую подобную хренотень...
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Реклама
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

Вот отснял "ролик" про прошивку http://www.youtube.com/watch?v=G4B4c7esn0o

Уважаемых котов прошу на меня не шипеть, т.к. я знаю что руки у меня кривые и корпус монстрообразный и все сделанно криво, не сыпте лишний раз соль на рану.

Если кто будет прошивать 16-ю версию с часовым кварцем, замерийте плиз потребление.
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Реклама
Аватара пользователя
Nusik1975
Электрический кот
Сообщения: 1023
Зарегистрирован: Чт мар 04, 2010 13:48:56
Откуда: Недалеко от Тулы

Re: Гамма_3

Сообщение Nusik1975 »

shodan, залил 16 прошивку. Буду тестить. Отпишусь.
Аватара пользователя
sdram85
Прорезались зубы
Сообщения: 208
Зарегистрирован: Ср апр 13, 2011 00:33:52
Откуда: Ростовская область, г.Таганрог
Контактная информация:

Re: Гамма_3

Сообщение sdram85 »

Да. 16 версия - это здорово. в ближайшее время постараюсь зашить и протестить всякими "нестандартными методами" ну и нормальными тоже :))
Пожелания насчет терминала учел. как налажу основной функционал с нормальным чтением из порта,
буду добавлять следующее, в порядке очередности:
1 возможность писать в лог с именем например 12.03.2011-12.36.log в непреревном режиме или выбирать интервал записи лога.
2 ворможность загрузить лог (для просмотра графика)
3 режим коммандной строки.
4 попробовать сделать сетевой доступ
5 возможность горячего отключения/подключения порта (тоесть дозик в ком воткнул - прога продолжила свое дело ) касается USBtoCOM.
6 сохранение настроек в файл.

На этом пока идеи заканчиваются.

P.S. терминал изначально поддерживает стандартную прошивку (только значение дозы)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Nusik1975
Электрический кот
Сообщения: 1023
Зарегистрирован: Чт мар 04, 2010 13:48:56
Откуда: Недалеко от Тулы

Re: Гамма_3

Сообщение Nusik1975 »

shodan, такой маленький нюансик. Если мы ставим единицу измерения мкЗв, то и порог срабатывания сигнализации тоже должен отображаться в мкЗв. У нас сейчас в мкР и в одном, и в другом режимах.
Реклама
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

Nusik1975 писал(а):shodan, такой маленький нюансик. Если мы ставим единицу измерения мкЗв, то и порог срабатывания сигнализации тоже должен отображаться в мкЗв. У нас сейчас в мкР и в одном, и в другом режимах.
Когда флешку освобожу сделаю, я тут сэкономить решил.
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Реклама
AlexeyN
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср апр 06, 2011 03:31:30
Откуда: Самый северный город

Re: Гамма_3

Сообщение AlexeyN »

предлагаю модификацию (Doz.gif) может кто возмется реализовать :- )


можно ли в прошивке на порт PC5 (28 нога контроллера) сделать модуляцию 1kHZ (чтоб простую ЗП поставить )
а на 19 (ADC6)или 22(ADC7) вывести сигнал на вибро
Вложения
Doz .gif
(57.65 КБ) 490 скачиваний
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

AlexeyN писал(а):можно ли в прошивке на порт PC5 (28 нога контроллера) сделать модуляцию 1kHZ (чтоб простую ЗП поставить )
а на 19 (ADC6)или 22(ADC7) вывести сигнал на вибро
Возникает резонный вопрос, зачем????!
Если на PC5 подавать модуляцию, то это займет доп. такты процессора + флешку...флкшку...флешКУ!!!
Вибру можно через транзистор тудаже на PC5 подключить.
Да и еще, приложенная схема не имеет никакого отношения к данному проекту, тут уж простите если перерисовывать, то все целиком а не кусочек, да и то который я мог бы без картинки описать в одном предложении.
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

UH9YAA писал(а):В записной книге слово ЗАПИСь мягкий знак с маленькой буквы написан.
Это легко поправить не получается, т.к. это глюк работы директивы #pragma rl+ конечно можно ее убрать и переписать на функцию, но это добавит ~6% к занятости флешки и немножко уменьшит скорость работы девайса.
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Аватара пользователя
sdram85
Прорезались зубы
Сообщения: 208
Зарегистрирован: Ср апр 13, 2011 00:33:52
Откуда: Ростовская область, г.Таганрог
Контактная информация:

Re: Гамма_3

Сообщение sdram85 »

Вроде стабильный результат работы с портом.
Пока без замера напряжения. Только индикация текущего уровня и его график.
В прошивках которые умеют мерять напряжения выявлен глюк - после передачи данных хаотично проскакивают EF или FF что усложняет алгоритм приема правильных пакетов. Кстати мусор принимается даже при выключенном режиме передачи в ПК.
Вероятно сказывается работа с индикатором и спячка контроллера.

P.S. при приеме данных от прибора без функции измерения напряжения, работа стабильная
Вложения
project1.zip
Терминалка V.0.0.1
(994.88 КБ) 172 скачивания
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

sdram85 писал(а):после передачи данных хаотично проскакивают EF или FF
Вероятно сказывается работа с индикатором и спячка контроллера.
Это не вероятно, это точно, из за индикатора! Именно для этого был добавлен идентификатор начала передачи.
Могу добавить ID конца передачи, это должно облегчить тебе задачу.
На выходных спаяю макс, посмотрю.

PS может и спячка повлияла, но тут я ничем не помогу скорее всего.
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Аватара пользователя
sdram85
Прорезались зубы
Сообщения: 208
Зарегистрирован: Ср апр 13, 2011 00:33:52
Откуда: Ростовская область, г.Таганрог
Контактная информация:

Re: Гамма_3

Сообщение sdram85 »

shodan писал(а):
sdram85 писал(а):после передачи данных хаотично проскакивают EF или FF
Вероятно сказывается работа с индикатором и спячка контроллера.
Это не вероятно, это точно, из за индикатора! Именно для этого был добавлен идентификатор начала передачи.
Могу добавить ID конца передачи, это должно облегчить тебе задачу.
На выходных спаяю макс, посмотрю.
Идие здравая. но для совместимости со старыми версиями не совсем желательная.
Хотя имеет смысл только для прошивок меряющих напряжение. E5-XX-XX- и четвертый байт например 0F
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

sdram85 писал(а): Идие здравая. но для совместимости со старыми версиями не совсем желательная.
Хотя имеет смысл только для прошивок меряющих напряжение. E5-XX-XX- и четвертый байт например 0F
Напрашивается новая хотелка....

Сделаю так, в меню можно будет выбрать версию протакола:
ВЫКЛ - нет передачи
Версия 1 - оригинальная прошивка
Версия 2 - с напряжением
Версия 3 - с напряжением + окончание передачи
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Аватара пользователя
sdram85
Прорезались зубы
Сообщения: 208
Зарегистрирован: Ср апр 13, 2011 00:33:52
Откуда: Ростовская область, г.Таганрог
Контактная информация:

Re: Гамма_3

Сообщение sdram85 »

shodan писал(а):
sdram85 писал(а): Идие здравая. но для совместимости со старыми версиями не совсем желательная.
Хотя имеет смысл только для прошивок меряющих напряжение. E5-XX-XX- и четвертый байт например 0F
Напрашивается новая хотелка....

Сделаю так, в меню можно будет выбрать версию протакола:
ВЫКЛ - нет передачи
Версия 1 - оригинальная прошивка
Версия 2 - с напряжением
Версия 3 - с напряжением + окончание передачи
В данном случае это излишне. так как у мк ресурсы пригодятся для чегонибудь пополезней а компу лишний массив на десяток значений .... капля в окияне...

всеголиш ввести проверку что между E9 и E5 находятся 2 байта.
Последний раз редактировалось sdram85 Пт апр 29, 2011 10:51:13, всего редактировалось 1 раз.
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

sdram85 писал(а): В данном случае это излишне. так как у мк ресурсы пригодятся для чегонибудь пополезней а компу лишний массив на десяток значений ....
А ты не проверял оригинальную прогу с новой прошивкой?

А байта там 2 полюбому, ибо код дубовый, глючать тут негде:

Код: Выделить всё

		IndexLo =  m_buffer & 0xff;               // разбить индекс на младший байт
		IndexHi = (m_buffer >> 8) & 0xff;       // разбить индекс на старший байт  

		voltIndexLo =  VoltLevel & 0xff;               // разбить индекс на младший байт
		voltIndexHi = (VoltLevel >> 8) & 0xff;       // разбить индекс на старший байт  
	
		putchar(0xE9);                                      // передать ключь Гаммы3
		putchar(IndexHi);                                 // передать по УСАПП 
		putchar(IndexLo);                                 // передать по УСАПП 

		putchar(0xE5);                                      // передать ключь напряжения
		putchar(voltIndexHi);                                 // передать по УСАПП 
		putchar(voltIndexLo);                                 // передать по УСАПП
Кстати нашел ошибку! Я тебе передаю не напряжение а его промежутычные вычисления, попровлю ща.
т.е. передавалась шкала от 0 до 1023 где 0- 0вольт 1023- 5вольт
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Аватара пользователя
sdram85
Прорезались зубы
Сообщения: 208
Зарегистрирован: Ср апр 13, 2011 00:33:52
Откуда: Ростовская область, г.Таганрог
Контактная информация:

Re: Гамма_3

Сообщение sdram85 »

Я против кода ничего не имею. с ним проблем нет. есть проблема с приемом на компе так как сканить приемный буфер на предмет значения загаловка E9 или E5 не совсем хорошая идея так как это значение может попасться в облачти данных и будет неправельный/потерянный пакет . Если в оригинальной прошивке ловим самый первый пакет, то в данном случае можно за заголовок пакета напряжения ошибочно принять к примеру передаваемое значение 229мкр. и наоборот 223мв за загаловок уровня радиации... вот кусок кода расшифровки буфера:
//разбор данных из массива
b:=0;
while b<10 do begin
case buf of
E9:
begin
q:=0;
for i:=1 to 2 do q:=q<<8+buf[b+i];
doza:=q;
end;
E5:
begin
q:=0;
for i:=1 to 2 do q:=q<<8+buf[b+i];
volt:=q;
end;
else exit;
end;
b:=b+i
end;
end;
end;

Тоесть я введу проверку условия что между E9 и E5 в 2 байта то это версия с передачей значения напряжения и пакеты правельные. если это условие не выполняется значит пакет рассматривается как неимеющий значение батареи
Последний раз редактировалось sdram85 Пт апр 29, 2011 11:18:08, всего редактировалось 1 раз.
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

Контрольную сумму может тебе передавать?

Придумай простую формулу типа (мкр+вольты) взять от этого 1 байт.
т.е. тебе нужна будет простая проверка:
if (crc==((doza+volt) & 0xff))

Это в разы понизит вероятность ошибки.

Пакет будет выглядеть так:
E9 xx yy E5 zz vv qq A4

xx - доза старший байт
yy - доза младший байт
zz - напряжение старший байт
vv - напряжение младший байт
qq - контрольная сумма

Код: Выделить всё

По алгоритму обработки предлагаю так, есть буффер buff[]:
** ** ** ** ** E9 xx yy E5 zz vv qq A4 ** ** ** ** **

Упращенно и утрированно на сях

В цикле идем по нему до тех пор пока элемент buff[i] не будет равен E9, затем
possible_tru=0;
doz_hi=buff[i+1];
doz_lo=buff[i+2];
if(buff[i+3]==0xE5)
{  volt_hi=buff[i+4];
   volt_lo=buff[i+6];
   crc=buff[i+7];
   if(buff[i+8]==0xA4) possible_tru++;
   if(crc==((doza+volt) & 0xff))possible_tru++;
} else {
версия без напряжения
}

Если possible_tru = 2 - то пакет абсолютно доставерный и версия с передачей
Если possible_tru = 1 - то версия с передачей вероятность достоверности маленькая, вероятно не версия 17

Если хотябы 1 раз был получен пакет с possible_tru = 2, то более никогда не принимать пакеты с доставерностью ниже 2, т.к.прошивка точно гамма 17
ну а далее
q=doz_hi;
q=(q<<8+doz_lo);
итд
Да и еще, применять там кейсы не в тему, т.к. там четкое следование битов 1 за 1.
а то получится:
E9 xx yy ** ** ** ** ** ** ** E5 ** ** **
Где ** и E5 - мусор, а МК неподдерживает передачу напряжения
Последний раз редактировалось Anonymous Пт апр 29, 2011 12:21:16, всего редактировалось 1 раз.
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Аватара пользователя
belyay
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пн авг 25, 2008 10:24:51
Откуда: Россия, Магадан

Re: Гамма_3

Сообщение belyay »

Народ подскажите, если я правильно понял пока у меня один СБМ20 то в коррекции выставить нужно 34 сек?, с такой настройкой выходит показания от 7 до 16 мкР
Аватара пользователя
shodan
Поставщик валерьянки для Кота
Сообщения: 2087
Зарегистрирован: Чт май 24, 2012 22:47:39
Откуда: Тула
Контактная информация:

Re: Гамма_3

Сообщение shodan »

belyay писал(а):Народ подскажите, если я правильно понял пока у меня один СБМ20 то в коррекции выставить нужно 34 сек?, с такой настройкой выходит показания от 7 до 16 мкР
По паспорту да, но народ ставит 40.
Тут мои мнения с котонародом сильно расходятся, но я не сильно возражаю :lol:
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
UH9YAA
Встал на лапы
Сообщения: 124
Зарегистрирован: Пт дек 10, 2010 18:10:56
Откуда: Барнаул

Re: Гамма_3

Сообщение UH9YAA »

Провел эксперимент, гамма3 прошивка 15 с автоподкачкой и выключенным звуком проработала около 30 часов. Аккумулятор от старого мобильника 600ma/h li-ion. Результат не плохой, если саморазряда у аккумулятора сильного не будет, то за глаза...
R9YAG
Ответить

Вернуться в «Статьи»