На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 53,
участников - 1 [ ra3tmo]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Программное обеспечение —› Нужно ли выкладывать исходники? Управление и поиск сигналов для Icom IC-R20. 
В магазине нашего сайта можно купить приемник Icom IC-R20 всего за руб.!
 Страница:  1  2  3  »»Поиск в теме
Автор Сообщение
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 11 Май 2007 04:57:11 #  

Накодировал я немножко на C#. NET2 VS2005 для IC-R20, ставит частоту, ищет, заносит в таблицу, ставит моды, меняет шаг, по таблице, если бегать, то меняет очень шустро частоту... Все сырое и немного с кривизной, я понял что сам все это не осилю, например, простую функцию сохранение dataGridView в файл не соображу или сравнение частот в dataGridView, чтобы бльше не заносить, тоже не соображу никак.
ОТКЛИКНИТЕСЬ ЭНТУЗИАСТЫ !! Соорудим опэн-сорс проект.

Ищет 20 частот в секунду, выиграл гашением ЭХО в RS232, как итог - преобразователь уровня CI-V немножко передаланый, прием отключаемый програмно по RTS.

Типа что-то так:

Freq = Freq + fStep;
serialPort1.RtsEnable = false;
SetFreq();
ShowFreq(Freq); Application.DoEvents();
GetLevel();
System.Threading.Thread.Sleep(5);
serialPort1.RtsEnable = true;
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 11 Май 2007 05:15:22 #  

скрин шот

Увеличить
Реклама
Google
sea
Участник
Offline3.3
с авг 2006
Ярославль
Сообщений: 832

Дата: 11 Май 2007 09:06:24 #  

RadioKoteg > например простую функцию сохранение dataGridView в файл не соображу
RadioKoteg > или сравнение частот в dataGridView чтобы бльше не заносить тоже не соображу никак.

Вот только не пишу я на, как его там, C# .NET2, а всего лишь на дельфе, но алгоритм, то все равно от эого не изменится...

сохраняй в текстовый файл, разделители - пробелы. если в данных есть пробелы, то что-то типа csv - данные в кавычках, разделитель - точка с запятой:
"462500000";"144";"FM";""
"462775000";"32";"FM";"Цыфра"
"462900000";"160";"FM";"Цыфра"
"462950000";"112";"FM";"Цыфра охр"

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

int Частоты[100]
int ВсегоЧастот=-1

bool ЕстьЧастота(int Частота) {
bool нашли=нет
цикл для Ch от 0 до ВсегоЧастот{
если Частоты[Ch]=Частота {
нашли=да
Выход(есть такая)
}
}
Если нашли=нет {
ВсегоЧастот=ВсегоЧастот+1;
Частоты[ВсегоЧастот]=Частота
Выход(нет такой)
}
}



Или вопрос был не в этом?
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 11 Май 2007 14:22:55 #  

Или вопрос был не в этом?

в этом ,еще руки не дошли до кодинга базы,я без году неделя кодирую на C# и тяжковато еще..
Еще есть баг с работой стандартной компоненты rs232,в среде разработки все ок ,все красиво работает ,но стоит без отладчика запустить программу отдельно от среды разработки происходит полный ПЭ,не берется уровень,данные на прием гдето теряются,тоесть приходят через 10 ...25 раз,все мои попытки понять что происходит увенчались неудачей.
DVE
Участник
Offline3.8
с ноя 2006
EU
Сообщений: 5098

Дата: 11 Май 2007 15:29:19 #  

RadioKoteg
> Ищет 20 частот в секунду, выиграл гашением ЭХО в RS232, как итог - преобразователь уровня CI-V немножко передаланый

Т.е. со стандартным (покупным) преобразователем уровней Ваша программа работать не будет?
ИМХО это сильно сужает количество потенциальных юзеров этого софта... Владельцев Р20 и так немного, а уж владельцев Р20 которые займутся перепайкой преобразователя, и того меньше.

> Соорудим опэн-сорс проект

Так легко - регистрируйтесь на http://sourceforge.net, и можете хранить там историю версий, апдейты, файлы для скачивания и пр.
Кстати, там уже есть проекты посвященные R20: http://sourceforge.net/projects/r20/
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 11 Май 2007 17:07:42 · Поправил: RadioKoteg (12 Май 2007 02:04:54) #  

Т.е. со стандартным (покупным) преобразователем уровней Ваша программа работать не будет?
у меня нет стандартного перобразователя уровня ,если в нем есть аппаратное гашение эхо то программа будет работать ,если нет гашения эхо то вероятно будет работать с сбоями но это можно легко исправить введением переменной опросса по таймеру.,
хотя я интерфейс спаял ровно за 10! минут ))перепаянный интерфейс работает с другими программами.

а уж владельцев Р20 которые займутся перепайкой преобразователя, и того меньше.
тех которые с исходников скомпилят наверное будет 0.



Так легко - регистрируйтесь на http://sourceforge.net, и можете хранить там историю версий, апдейты, файлы для скачивания и пр.
Кстати, там уже есть проекты посвященные R20: http://sourceforge.net/projects/r20/

я ищу единомышленников тут на радиосканнере.

и еще программа вероятно заработает с любым CI-V приемником,так как это есть стандартные CI-V команды.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 12 Май 2007 17:57:13 #  

sea
частоты чтобы без повторов - делаешь функцию возвращающую есть или нет переданная ей частота а дальше если нет, то добавляешь в грид.
СПАСИБО за совет ,уже воплащено этот пункт в жизнь прогрыммы,работает без сбоев. :)
Заставляю себя делать процедуру ведение базы ,тобиш ее сохранение чтение и экспорт в эксель.
antony
Участник
Offline3.1
с фев 2005
Санкт-Петербург
Сообщений: 4183

Дата: 12 Май 2007 18:20:53 #  

А стандартную БД типа Access для хранения таблицы почему не используете?
зачем своя изобретается и свой поиск по ней?
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 12 Май 2007 19:24:45 #  

А стандартную БД типа Access для хранения таблицы почему не используете?
зачем своя изобретается и свой поиск по ней?

Во первых я в их не шарю.
Во вторых 25 раз в секунду в риалтайме все происходит,вот у меня щас 10 000 частот проверяется и намано все ,а если чтото стандартное то оно подзреваю не успеет.
antony
Участник
Offline3.1
с фев 2005
Санкт-Петербург
Сообщений: 4183

Дата: 12 Май 2007 20:11:27 · Поправил: antony (12 Май 2007 20:22:39) #  

RadioKoteg
вы 25 раз в секунду что-то читаете/пишете из/в файл, что именно?

вы считаете что все стандартные технологии БД конечно медленнее перебора в цикле?
почему была выбрана именно эта среда разработки и язык для "железной" задачи, чтобы dot NET обязательно у пользователей стоял?
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 12 Май 2007 20:21:05 · Поправил: RadioKoteg (12 Май 2007 22:48:04) #  

вы 25 раз в секунду что-то читаете/пишете из/в файл, что именно?
Я ошибся с ответом,не понявши вопросса.
C файлами еще ничего не делаю,с базами данных типа аццэс никогда не работал и не желаю работать.
Мне нужно сохранить таблицу dataGridView а потом её прочесть .
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 12 Май 2007 22:53:06 #  

почему была выбрана именно эта среда разработки и язык для "железной" задачи, чтобы dot NET обязательно у пользователей стоял?
чтобы портировалось на КПК.
antony
Участник
Offline3.1
с фев 2005
Санкт-Петербург
Сообщений: 4183

Дата: 13 Май 2007 01:52:06 #  

RadioKoteg
чтобы портировалось на КПК.
вы уже пробовали это, на КПК любая ОС?
как с коммуникацией КПК с ICOM?
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 13 Май 2007 02:29:38 · Поправил: RadioKoteg (13 Май 2007 02:33:29) #  

как с коммуникацией КПК с ICOM?
как как?! работает.
http://www.radioscanner.ru/forum/index.php?action=vthread&topic=28066&forum=8&page=-1

на КПК любая ОС?
WM 2002 ....2005 + compact dot NET 2 ,в общем работает везде где есть dot NET.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 13 Май 2007 06:57:07 · Поправил: RadioKoteg (13 Май 2007 07:00:30) #  

Запись в CSV получилась по ламерски но рабочая

for (int i = 0; i < NumScannedFreq-1; i++)
{
S = S + dataGridView1.Rows[i].Cells["Freq_Column"].Value.ToString() +
"," + dataGridView1.Rows[i].Cells["Mode_Column"].Value.ToString() +
"," + dataGridView1.Rows[i].Cells["Level_Column"].Value.ToString() +
"," + dataGridView1.Rows[i].Cells["Remark_Column"].Value+" "+"
";
}



WriteToFile(S, 1251);

мда.. форум обрезал перевод строки ,чтото он не любит слешей на лево:)
Вышиваю чтение. :)
antony
Участник
Offline3.1
с фев 2005
Санкт-Петербург
Сообщений: 4183

Дата: 13 Май 2007 15:48:17 #  

RadioKoteg
как как?! работает
как с коммуникацией КПК с ICOM?
не говорите мне что у КПК DB9 или RJ под 232 есть ... про это вопрос..., через как физическая связь?
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 13 Май 2007 18:39:49 · Поправил: RadioKoteg (14 Май 2007 03:37:59) #  

через как физическая связь?
RS232
Я не могу создавать собщения так как мя добрые админы прибанили.
> antony или лыжи не едут или ... где в КПК COM порт?
в каких то отдельных моделях есть да, но даже в ноутбуках сейчас его нету

В loox n560 с низу на 34 пиновом разъеме.


Пишу тут так как не могу создать новое..
соорудил запись в XML и чтение,можно сказать что ведется свое образная база,все работает как швейцарские часы. :)
Кроме того есть экспорт в эксель.
antony
Участник
Offline3.1
с фев 2005
Санкт-Петербург
Сообщений: 4183

Дата: 13 Май 2007 19:49:10 #  

RadioKoteg
или лыжи не едут или ... где в КПК COM порт?
в каких то отдельных моделях есть да, но даже в ноутбуках сейчас его нету
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 16 Май 2007 06:04:12 #  

Болие-мение внятно работающее ,только исходники ,VS2005 C#:
http://www.radioscanner.ru/uploader/2007/scanaw32.zip
Возможности: Программа ищет в указаном диапазоне частот c произвольным указанным шагом,добавляет в базу если в ней нет этой частоты. Экспорт в эксель.Сортировка таблиц по любым критериям.Редактирование любой ячейки базы.Выделение и копирование любой части таблицы в буффер обмена. Скорость 20! частот в секунду.Быстрый серфинг по базе с одновременной установкой частоты. Есть примитивный бекап базы. Множество не оптимизированного и не красивого кода :),недоделанный график уровня частот.


Увеличить


Помогите исправить баг: Не работает RS232 на прием когда запускаеш программу не в среде отладчика VS2005,точнее сказать прием работает с раза 10..20 ,не вызывается serialPort1_DataReceived.Знающие гуру помогите пожалуйста.
Silent
Участник
Offline4.6
с мая 2005
г. Сокол, Вологодская обл. CQ de RA1QLL!
Сообщений: 4466

Дата: 16 Май 2007 10:52:36 #  

RadioKoteg
Болие-мение внятно работающее ,только исходники ,VS2005 C#:
http://www.radioscanner.ru/uploader/2007/scanaw32.zip

А екзешник есть? А то неохота ради одной проги ставить визуал студию. ;)
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 16 Май 2007 14:28:07 #  

Silent

А екзешник есть? А то неохота ради одной проги ставить визуал студию. ;)

RadioKoteg

[i]Помогите исправить баг: Не работает RS232 на прием когда запускаеш программу не в среде отладчика VS2005,точнее сказать прием работает с раза 10..20 ,не вызывается serialPort1_DataReceived.Знающие гуру помогите пожалуйста.



Экзешник будет после исправления бага.










:: Ваш ответ[/i]
horizon
Участник
Offline3.3
с мар 2006
Сообщений: 431

Дата: 16 Май 2007 16:18:24 #  

RadioKoteg

Попробуйте обрабатывать принятые байты не сразу в хэндлере serialPort1_DataReceived, а только записывая их там в массив, чтобы не оставаться в хэндлере слишком долго. Немного об этом: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1379397&SiteID=1
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 16 Май 2007 18:12:47 #  

horizon

Попробуйте обрабатывать принятые байты не сразу в хэндлере serialPort1_DataReceived, а только записывая их там в массив, чтобы не оставаться в хэндлере слишком долго.

Спасибо,попробывал,все тоже самое ,не приходят данные или приходят с раза 20 того.:(
horizon
Участник
Offline3.3
с мар 2006
Сообщений: 431

Дата: 16 Май 2007 20:36:05 #  

RadioKoteg

Тааак, написал программку. Вроде работает Debug и Release, попробуйте адаптировать для scanaw32.

http://www.radioscanner.ru/uploader/2007/icr20poc.zip
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 18 Май 2007 19:58:47 #  

horizon
спасибо не заработало http://www.radioscanner.ru/uploader/2007/icr20poc.zip ,но суть понял где копать :),и нашел причину,причина в таймере,тоесть таймер какимто образом накладывается с компортом и блокирует прием,заменил вместо таймера на вот так:

private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 10000; i++)
{
serialPort1.RtsEnable = false;
Freq = Freq + fStep;
SetFreq();
System.Threading.Thread.Sleep(20);


byte[] buffer1 = new byte[7] { 0xFe, 0xFe, 0x00, 0x6c, 0x15, 0x02, 0xFd };
serialPort1.Write(buffer1, 0, 7);

System.Threading.Thread.Sleep(4);
serialPort1.RtsEnable = true;

System.Threading.Thread.Sleep(40);
ShowFreq(Freq);
Application.DoEvents();
}
}
и все работает :) . 64 миллисекунды цыкл +время вывода графики .
Будет время перепишу кнопки скана и выложу уже с .EXE /
horizon
Участник
Offline3.3
с мар 2006
Сообщений: 431

Дата: 18 Май 2007 20:55:30 #  

RadioKoteg

не заработало http://www.radioscanner.ru/uploader/2007/icr20poc.zip
Возможно дело в Вашем переделанном интерфейсе, я RtsEnable в программе не предусмотрел. Думаю что это не оптимальный вариант, т.к. в адаптерах УСБ, например от телефонов Сименс (видел тут некоторые себе делали), не будет такой возможности отключить эхо.
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 19 Май 2007 01:02:41 #  

horizon так идея отключать эхо чтобы не засорять буфер прием компорта,а от этого и скорость зависит.Все равно спасибо что столкнули меня с мертвой точки :)
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 19 Май 2007 01:24:48 · Поправил: RadioKoteg (19 Май 2007 17:05:11) #  

Выкладываю исходники + и по просьбе Silent скомпиленный экзешник http://doris.kiev.ua/RS/scanaW32.rar Сильно не бейте если не будет работать,или отформатрует вам блок питания :)
,много багов и нету защиты от дурака при вводе частот.

Интефейс :
http://doris.kiev.ua/RS/civ.gif
horizon
Участник
Offline3.3
с мар 2006
Сообщений: 431

Дата: 19 Май 2007 01:57:44 #  

А, понятно, если интерфейс без доработок, то RtsEnable никак не мешает.

http://www.iv3sbe.webfundis.net/images/civ.gif
RadioKoteg
Участник
Offline4.4
с сен 2006
Киев
Сообщений: 14486

Дата: 19 Май 2007 02:10:16 #  

А, понятно, если интерфейс без доработок, то RtsEnable никак не мешает.
да,но по времени привязано сильно и может налезть эхо в временной интервал или забится 50 байтный буффер.
Реклама
Google
 Страница:  1  2  3  »» 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.026; miniBB ®