Важно не нарваться на китайский клон Nikon EG-CP14: у него нет AUDIO_R красного
разъема, т.е. выхода сигнала GPS А UC-E6 вообще никуда не годится, у него пинов совсем мало,
и пины не те, и не там.
В России продается под названим “NAVIXY A7”.
Важно не нарваться на китайский клон Nikon EG-CP14: у него нет AUDIO_R красного
разъема, т.е. выхода сигнала GPS А UC-E6 вообще никуда не годится, у него пинов совсем мало,
и пины не те, и не там.
В России продается под названим “NAVIXY A7”.
teqc отказался работать с RINEX OBS больше 2 ГБ
Откуда столько, за месяц что ли?
rtkplot было бы вообще сказкой, но там нетривиальные виджеты.
Насколько я смог представить, показывать бары для сигналов и небесный свод для спутников тоже не понятно с какой стороны зайти.
За неделю, базовая станция на крыше.
Рисовать самому, такое было уже на qt в qlandkarte M, но правда
без цветных баров как у гармина.
Edit
У меня еще где-то завалялся старый добрый sharp zaurus с qpeGPS
http://qpegps.sourceforge.net/images/qpegps_shots/0.9.2.1/shots_640x480_0.9.2.1.html
gpsstatus.cpp http://sourceforge.net/p/qpegps/code/HEAD/tree/trunk/qpegps/gpsstatus.cpp
Edit2
qpeGPS напомнил мне как все в те годы плевались при мысли об обработке сырых данных:
и говорили ни в коем случае не покупать вот такой приемник:
http://www.pocketgpsworld.com/preteclpreview.php
Royaltek RFG-1000 http://www.mikrocontroller.net/attachment/60971/RFG-1000.pdf
с чипсетом Trimble FirstGPS (?)
http://www.trimble.com/news/release.aspx?id=062200a
Родной протокол/скорость на HTC Artemis все-таки NMEA/57600. Это можно было косвенно
предположить по команде SPL “GPSRouting 57600”, которая перенаправляет GPS на USB
(без wince, только в SPL), но теперь я сумел доказать это напрямую.
Берется пакет с http://sourceforge.net/projects/wing-linux и запускается
при включенном GPS (так как инициализация GPS UART и CPLD GPIO в Linux для Artemis сделана там
абсолютно неправильно).
root@localhost:~# stty -F /dev/ttyS1 clocal raw speed 57600
root@localhost:~# cat /dev/ttyS1
тут NMEA
root@localhost:~# echo -ne '$PSRF100',0,38400,8,1,0*3C\\r\\n > /dev/ttyS1
root@localhost:~# od -x /dev/ttyS1
0000000 a2a0 5b00 0029 ...
MID148 работает, и переключает (внутри) порт на 38400, поэтому перепрошивка через
SPL “GPSRouting 57600” не получается.
Остается собрать sirfmemdump для arm-linux и сделать для начала дамп прошивки.
Для эхолота Lowrance Mark-4 (Elite тоже должен работать) https://wiki.openstreetmap.org/wiki/Chart_plotters
берется для тестирования файл SDK core-image-sato-sdk-imx28evk.ext3 отсюда
http://downloads.yoctoproject.org/releases/yocto/yocto-1.8/machines/imx28evk
кладется на SD карту, делается
mount -o loop /dev/mmcblk0p1/core-image-sato-sdk-imx28evk.ext3 /mnt
и потом возможен chroot /mnt
В SDK есть gcc и qt4. Правда у эхолота нет тачскрина, поэтому GUI должен
будет работать только с кнопками.
Встроенный GPS приемник STA5058 работает c частотой 5 Hz, и я его даже
убедил командой $PSTMDUMPEPHEMS выдать эфемериды, но в непонятном и
недокументированном формате Внешний u-blox будет работать лучше и быстрее.
Единственная проблема пока это X11 из этого SDK, он погибает по непонятной причине
со старомодной ошибкой (типа http://www.friendlyarm.net/forum/topic/1541 )
EE) FBDEV(0): FBIOPUT_VSCREENINFO: Invalid argument
Стандартный mxsfb.c вроде как не запрещает самому устанавливать Modelines,
но 480x272 это не VESA мода и возможно я что-то недопонимаю.
Без исходников разобраться непросто, но можно.
Edit
220 Hz это что-то очень много,
а параметр pclk у navico какой-то нестандартный…
fbmode=x:480,y:272,le:2,ri:2,up:2,lo:2,hs:41,vs:10,pclk:110,depth:16,clkp:0
bash-4.3# ./myfbset -x
Mode "480x272"
# D: 50.000 MHz, H: 74.405 kHz, V: 220.132 Hz
DotClock 50.001
HTimings 480 544 608 672
VTimings 272 304 306 338
Flags "-HSync" "-VSync"
EndMode
bash-4.3# ./myfbset -i
mode "480x272-220"
# D: 50.000 MHz, H: 74.405 kHz, V: 220.132 Hz
geometry 480 272 480 816 16
timings 20000 64 64 32 32 64 2
rgba 5/11,6/5,5/0,0/0
endmode
Frame buffer device information:
Name : mxsfb
Address : 0x47000000
Size : 261120
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 1
YWrapStep : 0
LineLength : 960
Accelerator : No
С HTC Artemis у меня ничего путного не получилось.
После переключения в internal boot mode и в Линуксе - полная тишина.
Перепрошивать через BOOTSEL/D0 на этом телефоне теоретически можно, но технически
слишком сложно.
Перехожу на HTC Athena, там перепрошивка официально поддерживается,
пусть даже и придется поломать голову над проблемой RSA ключей
root@localhost:~# stty -F /dev/ttyS1 clocal raw speed 57600
38400
root@localhost:~# cat /dev/ttyS1
$GPGGA,000154.070,,,,,0,00,,,M,0.0,M,,0000*51
^C
root@localhost:~# echo -ne '$PSRF100',0,38400,8,1,0*3C\\r\\n > /dev/ttyS1
root@localhost:~# stty -F /dev/ttyS1 clocal raw speed 38400
57600
root@localhost:~# od -x /dev/ttyS1
0000000 a2a0 5b00 0029
^C
root@localhost:~# echo -ne "\xa0\xa2\x00\x01\x94\x00\x94\xb0\xb3" > /dev/ttyS1
root@localhost:~# od -x /dev/ttyS1
^C
root@localhost:~# strace -ff ./sirfmemdump.arm -p /dev/ttyS1 -v 6 -i ping
execve("./sirfmemdump.arm", ["./sirfmemdump.arm", "-p", "/dev/ttyS1", "-v", "6", "-i", "ping"], [/* 11 vars */]) = 0
uname({sys="Linux", node="localhost", ...}) = 0
brk(0) = 0xac000
brk(0xacd00) = 0xacd00
readlink("/proc/self/exe", "/home/root/sirfmemdump.arm", 4096) = 26
brk(0xcdd00) = 0xcdd00
brk(0xce000) = 0xce000
open("/dev/ttyS1", O_RDWR|O_NOCTTY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon echo ...}) = 0
ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(3, TCFLSH, 0x2) = 0
write(2, "./sirfmemdump.arm: port set up.."..., 34./sirfmemdump.arm: port set up...
) = 34
open("sirfmemdump.bin", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0755, st_size=3057, ...}) = 0
write(2, "./sirfmemdump.arm: passed sanity"..., 43./sirfmemdump.arm: passed sanity checks...
) = 43
read(4, "\0\0\240\343X\20\237\345X \237\345\370\7\260\350\370\7"..., 3057) = 3057
close(4) = 0
write(2, "./sirfmemdump.arm: loader read i"..., 37./sirfmemdump.arm: loader read in...
) = 37
write(2, "./sirfmemdump.arm: blocking sign"..., 39./sirfmemdump.arm: blocking signals...
) = 39
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT KILL STOP TSTP], NULL, 8) = 0
write(2, "./sirfmemdump.arm: Sending loade"..., 37./sirfmemdump.arm: Sending loader...
) = 37
ioctl(3, TCSBRK, 0x1) = 0
nanosleep({0, 1000000}, NULL) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost -isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 -opost -isig -icanon -echo ...}) = 0
timer_delete(0x2) = 0
write(2, "gpsflash: transferring binary..."..., 34gpsflash: transferring binary...) = 34
write(3, "S\0\0\0\v\361\0\0\240\343X\20\237\345X \237\345\370\7\260"..., 512) = 512
write(2, "-", 1-) = 1
write(2, "\10", ) = 1
write(3, "\32x0*\6\321\244J\243K\32\200\1\"\243K\32\200/\340\32x"..., 512) = 512
write(2, "-", 1-) = 1
write(2, "\10", ) = 1
write(3, "\234FbF\1\233\363\30\1\231\333y\213T\v\0\0013\1\223\20"..., 512) = 512
write(2, "-", 1-) = 1
write(2, "\10", ) = 1
write(3, "\365\321\367\347\10\0p\274\2\274\10G\300F\324/\0\0\360"..., 512) = 512
write(2, "-", 1-) = 1
write(2, "\10", ) = 1
write(3, "\377\377\252\252\0\0\30G\300F\200#p\265%M\333\5+`\20#$"..., 512) = 512
write(2, "-", 1-) = 1
write(2, "\10", ) = 1
write(3, "\32\0\30\0N2\21\210\t\6\t\16\341v\0022\22\210R0\0\210*"..., 507) = 507
write(2, "-", 1-) = 1
write(2, "\10", ) = 1
timer_delete(0x2) = 0
write(2, "...done (0.02 sec).\n", 20...done (0.02 sec).
) = 20
brk(0xcd000) = 0xcd000
write(2, "./sirfmemdump.arm: Unblocking si"..., 41./sirfmemdump.arm: Unblocking signals...
) = 41
rt_sigprocmask(SIG_UNBLOCK, [HUP INT QUIT KILL STOP TSTP], NULL, 8) = 0
write(2, "./sirfmemdump.arm: Finished.\n", 29./sirfmemdump.arm: Finished.
) = 29
timer_delete(0x2) = 0
read(3,
Политбюро ЦК ОСМФ заблокировало анонимное редактирование в вики,
поэтому пара комментариев по эхолоту тут.
Самописная специфика похоже ограничивается двумя вкомпилированными модулями
navico_sku driver module loaded / navico_hal driver module loaded
i.MX28 sonar driver, (c) 2012 Navico
navicosonar navicosonar: Clock rate = 240000000
navicosonar: rxfifosize=16384, dmalen=256
их в распакованном виде проще задампить прямо через /dev/mem.
На Mark-4 можно прицепить USB флешку (только непонятно куда на плате)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci: irq 93, io base 0x80080000
fsl-ehci fsl-ehci: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
Благодаря SLIP драйверу можно использовать slattach из busybox для IP туннеля
через NMEA кабель:
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256) (6 bit encapsulation enabled).
CSLIP: code copyright 1989 Regents of the University of California.
SLIP linefill/keepalive option.
У большого брата Elite-7 fbmode=x:800,y:480,le:50,ri:50,up:0,lo:15,hs:100,vs:2,pclk:28,depth:16
mode "800x480-92"
# D: 50.000 MHz, H: 50.403 kHz, V: 92.314 Hz
geometry 800 480 800 1440 16
timings 20000 64 64 32 32 64 2
accel false
rgba 5/11,6/5,5/0,0/0
endmode
и данные по процессору и прерываниям:
root@(none):/etc/rc.d# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 226.09
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
Hardware : Navico MX28 board
Revision : 28011
Serial : 0000000000000000
root@(none):/etc/rc.d# cat /proc/interrupts
CPU0
6: 0 - pswitch
8: 13100 - can0
38: 14122 - fb_irq
39: 0 - mxs-pxp
41: 34361 - GPMI NFC BCH Interrupt
47: 38593 - DebugUART
48: 392470 - i.MX/mxs Timer Tick
70: 0 - auart dma rx
71: 0 - auart dma tx
72: 0 - auart dma rx
73: 0 - auart dma tx
78: 0 - auart dma rx
79: 0 - auart dma tx
82: 15431 - mxs-mmc dma
84: 113525 - navicosonar
88: 165697 - GPMI NFC DMA Interrupt
96: 14235 - mxs-mmc error
98: 0 - navicosonar
112: 34464 - auart internal
113: 65507 - auart internal
116: 10373 - auart internal
177: 94 - right-key
178: 2809 - left-key
197: 0 - zout-key
198: 135 - enter-key
199: 0 - zin-key
212: 68 - power-key
244: 0 - up-key
245: 69 - down-key
248: 4 - menu-key
251: 0 - pages-key
Err: 0
Несмотря на клятвенные заверения производителя, что на Lowrance Mark-4 HDI стоит
чернобелый экран (“Эксклюзивная модель монохромного экрана Mark-4 Super Twist Display наделена высоким разрешением”),
LCD у меня там все-таки цветной, который кормится чернобелыми картинками (!).
Framebuffer повернут на 90° против часовой стрелки
(строки в fbcon таким образом идут “снизу вверх”) и за счет увеличенного виртуального
разрешения виден только “правый нижний”, т.е. эффективно визуально “правый верхний”
квадрант.
Извиняюсь, что вопрос немного не в тему, но не знаю где ещё спросить.
Пошерстил инет, но так и не нашел ответа на очень простой вопрос:
А работают ли уже дифф.поправки для ГЛОНАСС, в частности на Урале?
А то вроде как и СДКМ есть, и пара спутников Луч-5А и Луч-5Б запущены, которые должны вещать поправки… А инфы что всё работает нет.
Заказал тут 11.11.2015 для экспериментов High Quality Ublox NEO-M8N Flight Controller GPS with Protective Shell for PIX PX4 Pixhawk за ~18$.
Пока руки не дошли подключить его к компу.
Для начала интерес только в автономному использованию.
А вообще хочу его к эхолоту Humminbird 798 подцепить. Внутренний GPS что-то по точности не устраивает, носимые GPS+ГЛОНАСС заметно лучше. Плюс из-за того что координаты внутренний GPS выдаёт 5 раз в сек, ошибка по скорости у него в 5 раз больше чем у 1Гц внешнего древнего модуля, а постоянно скучущая скорость и особенно направление, когда стоишь на месте бесит. Ну а если руки дойдут, то еще б сваять промежуточный контроллер, который бы по SPI компас опрашивал, и добавлял соответствующие NMEA сообщения.
Ну а в далёкой перспективе было бы сдорово иметь например на авто “базовую станцию”, а в лодке модулёк с ней связывающийся в рилтайме. Хотя для рыбалки наверняка достаточно было бы просто поправок SBASS.
usm78-gis, а какие вопросы по Qt, мож я чем помогу?
Замутить интерфейс rtknavi
Не работает ещё система и х.з когда запустят.
http://geodesist.ru/forum/threads/vopros-po-differencialnym-popravkam.26070/page-3#post-551277
Q:
A:
Самое паршивое что для поддержки новых PRN потребуются новые прошивки для приёмников, а это значит практически всё, что сейчас есть на руках, останется не у дел.
Как вы думаете, каковы шансы что все иностранные компании, как только был опубликован ИКД СДКМ, кинулись добавлять его поддержку в свои прошивки ? Я ставлю на 0%.
Ну а я то по своей наивности думаю, что иностранные компании получают инфу от первоисточника по договорённости, и не скачивают с инета.
Поэтому наивно полагаю, что шансы есть.
Хотя как разработчик понимаю, что пока нет сигнала с Луч-ей, то отладить буржуям софт свой крайне сложно.
Впрочем ранее я полагал, что СДКМ - полностью совместим со всякими там WAAS-ами, поэтому типа и отлаживать не надо. Но бегло почитав ИКД СДКМ сильно в этом усомнился.
Alexander74
В своё время спутники SBAS/EGNOS добавлялись в прошивки по мере ввода в эксплуатацию. Нет ни одной внятной причины для них действовать иначе с нашими спутниками ЛУЧ. Так что от вашей веры или надежды поддержка лучей в сегодняшних чипах не появится )) Она есть в каких-то российских приёмниках, где-то в теме я выкладывал отчет.
(added)
Alexander74 на всех форумах есть общая проблема, у нас не принято представляться. Народ бодается годами, постепенно выясняя весомость слова того или иного участника. Если вы напишите профессиональным разработчиком чего вы являетесь, всем будет легче разговаривать.
Вы посмотрите на их положение на экваторе. Кроме как на индуистов на Урале надеяться
не на кого.
А что у него в нутрях ?
HTC Athena тоже работает по умолчанию на NMEA/57600, и тоже после переключения
в internal boot mode после MID148 или же с помощью соответствующего GPIO
на sirfmemdump не реагирует. Тут что-то не так, видимо какой-то нетривиальный баг
в sirfmemdump. Я еще раз посмотрел на перепрошивку GPS из SPL, о котором писал ранее.
Проблема с SHA1+RSA (по-блочная цифровая подпись) пропала после перепрошивки на SPL-1.20Olipro, но
остается проблема с “security level”. По какой-то причине он равен 0x32 (48)
Level = 32
а должен быть =0.
Эта проблема гораздо проще RSA, и была решена на других телефонах HTC
с помощью т.н. goldcard, т.е. шифрованного блока из 128 байт в начале SD карты
создаваемого из SD CID с помощью DES. Сам ключ для DES находится в SPL,
и для многих моделей присутствуют в знаменитом файле typhoonnbfdecode.pl
Но Athena там нет, и я что-то пока не понял как их найти.
Упс… Мож я как-то не так выразился. Ничего относящегося к GPS/ГЛОНАСС и т.д. я не разрабатывал.
А так программист и в некоторой степени железячник.
GPS модуль Telit JN3 с ПАТЧ-антенной 15х15мм параллельной плоскости экрана.
А софт эхолота судя по всему поддерживает и SIRF и U-blox модули, ибо на разъём к которому можно подцепить внешний ЖПС модуль эхолот порой посылает строки инициализации типа
$PUBX,41,1,0007,0003,38400,0*20
для U-blox-модуля
и
$PSRF100,1,38400,8,1,0*3D
для SIRF-модуля
GPS модуль Telit JN3 с ПАТЧ-антенной 15х15мм параллельной плоскости экрана.
Т.е. sirf4 с 5Hz. А какой там процессор ? OMAP ?
А софт эхолота судя по всему поддерживает и SIRF и U-blox модули
Я скачал наугад 3 прошивки (786, 798 и ONIX) с сайта Humminbird.
786 поддерживает только ublox, 798 и ublox и sirf, а на ONIX вообще песня:
полный дистрибутив Linux для TI814x, с xserver-kdrive и qt-4.7
http://arago-project.org/wiki/index.php/Main_Page
Edit
У 898/998/1098/1198 тоже Linux на OMAP3530 с 512MB RAM и 24MB VRAM и
root:41YEYwkWSNZXE:0:0:root:/home/root:/bin/sh