Страница 1 из 1

Умные дядьки, подскажите

Добавлено: 16 янв 2008, 15:51
relic
какой пакет (фрейм/кадр) надо послать на COM-порт GPS, чтобы слить из него прошивку (firmware). КАк сделать это через USB - понятно, но схема не работает для COM-порта :(


Re: Умные дядьки, подскажите

Добавлено: 16 янв 2008, 18:27
_WTF
все так же как и для USB, только подтверждения надо посылать после каждой принятой страницы


Re: Умные дядьки, подскажите

Добавлено: 16 янв 2008, 20:00
relic
А вот и не выходит так! Посылаю пакет с pid = 0x60 и командой 0x0e, а в ответ приходит только один ACK. Может что еще надо до или после?


Re: Умные дядьки, подскажите

Добавлено: 17 янв 2008, 00:23
_WTF
void Ack(BYTE cmd) {
TGarminSerialPacket pkt;
BYTE ackdata[2]; //ack it
ackdata[0] = cmd;
ackdata[1] = 0x00;
SendCmd(0x06, ackdata, sizeof(ackdata));
}

{
BYTE area = 0x0E;
SendCmd(0x60, (BYTE *)&area, sizeof(area));
Recv(&pkt); //here should be ack

Recv(&pkt); //here should be 0x4A
while (1) {
Recv(&pkt); //here should be dump
if (pkt.func!=0x24 || pkt.data.size()<4) //0x24 - area dump? //length can be 4, for pages containing only ff s
break;

Ack(pkt.func);

}
}

примерно так


Re: Умные дядьки, подскажите

Добавлено: 17 янв 2008, 10:13
relic
Спасибо за код, я так и делал, но... может это не на всяком навигаторе срабатывает? Я пробовал на Foretrex 101. Вот лог общения из GPSDaemon:
<--- Packet 10 60 02 0E 00 90 10 03 sent
COM
---> 2 (0x02) bytes received :
HEAD : 10 06 02
DATA : 60 00
TAIL : 98 10 03
ACK 60 received

Т.е. больше ничего не идет из навигатора, нет той инфы для которой предназначена строка Recv(&pkt); //here should be 0x4A

Что не так? %)


Re: Умные дядьки, подскажите

Добавлено: 17 янв 2008, 12:56
_WTF
ну значит не повезло =)


Re: Умные дядьки, подскажите

Добавлено: 17 янв 2008, 13:12
relic
и это прискорбно...
Может для него нужны "особые" команды? :)
Есть какие технологии это выяснить в домашних условиях?


Re: Умные дядьки, подскажите

Добавлено: 18 янв 2008, 12:58
relic
_WTF, а можешь сказать для какого навигатора сработал этот метод?