View previous topic :: View next topic |
Author |
Message |
dusty
Developer
Joined: 16 Feb 2005
Posts: 25
Location: Dayton, OH
|
Posted: Thu Feb 17, 2005 5:02 am Post subject: mx240a protocol
|
 |
|
Here is what I've found on the mx240a's protocol:
Code: |
code: code at beginning of data; N = handheld number
type: type of USB packet
dir: direction of pipe, to computer (<) or to mx240a (>)
data: rest of data
term: what signals the end of the data
ACK: whether the mx240a needs to ACK afterwards
description: what it is
code dir data term ACK description
----------------------------------------------------------------
> adef8d 0000 init base?
< ef01 01fe ffff init base ACK?
ad > 0000 noop or polling?
cNd7 > service_name ff00 X send service_name
fN8e < handheld_id fffe connect
fNfd* < seq fe token fffe ACK?
cNd9 > handheld_name ff00 X send handheld_name
cNcd > data? ff00 X send data (for image)?
fN91 < username fffe send username
fN92 < password fffe send password
eNd3 > 0000 X confirm login?
eNca > type id 0000 X begin new person
cNc9 > group name ff00 X send person data
aNc9 > status? ff00 X status modifier?
fN94 < id? fffe talk?
fN < mesg fffe send message
8N > id mesg ff00 X receive message
fN93 < fffe ?
fN95 < fffe bye?
fN8c < fffe ?
e0ce < handheld_id fffe logoff
eNce > id? 0000 X still there?
eN8e > 0000 ?
eed3 > 0000 ?
* a special sequence like below:
fNfd 01fe token fffe
fNfd 02fe token fffe
where token is the last four of
- handheld_id when not logged in
- password when logged in
example of protocol
----------------
0 init usb (below)
1 init base; init base ACK
2 connect
3 send service_name; ACK
4 send handheld_name; ACK
5 while (data) { send data; ACK }
6 send username; send password; confirm login; ACK
7 while (people) {
begin new person; ACK
send person data; ACK
[status modifier; ACK]
}
8 talk
9 send message
10 receive message; ACK
11 bye
12 logoff
13 eed3?
init usb -------------
000001 CS 00000000: 8006 0001 0000 1200
C< 00000000: 1201 1001 0000 0008 b822 017f 0100 0102 ........."......
00000010: 0001 ..
000002 CS 00000000: 8006 0002 0000 0900
C< 00000000: 0902 2200 0101 02c0 32 ..".....2
000003 CS 00000000: 8006 0002 0000 2200
C< 00000000: 0902 2200 0101 02c0 3209 0400 0001 0301 ..".....2.......
00000010: 0000 0921 0001 0001 221d 0007 0581 0308 ...!....".......
00000020: 000a ..
000006 CS 00000000: 8106 0022 0000 5d00
C< 00000000: 0600 ff09 01a1 0119 0129 0215 0026 ff00 .........)...&..
00000010: 7508 9508 8102 1901 2902 9102 c0 u.......)....
|
I think the type of USB pipe is an interrupt transfer. Hope that helps. If you don't understand anything above, just ask, I'll be checking the forum.
|
|
Back to top |
|
 |
grn
newb
Joined: 11 Feb 2005
Posts: 13
|
Posted: Fri Feb 18, 2005 5:13 pm Post subject: ...
|
 |
|
so with this can we effectively change the interface on the mx240a? for instance when you load it up, instead of it saying "AIM" at the bottom could we make it say something else or add another option?
|
|
Back to top |
|
 |
dusty
Developer
Joined: 16 Feb 2005
Posts: 25
Location: Dayton, OH
|
Posted: Fri Feb 18, 2005 7:22 pm Post subject:
|
 |
|
Yes. You should be able to use any 6 character string, and in theory have multiple services to choose from (haven't tried it yet). I don't think you can change the protocol or the interface of the device without changing firmware, though. You can feed it any information you want, though, so buddies can become servers, chat rooms can be irc channels, an IM session can be telnet, etc. depending on the host software.
|
|
Back to top |
|
 |
xantus
Site Admin
Joined: 26 Jan 2005
Posts: 44
Location: Washington
|
Posted: Mon May 02, 2005 8:19 am Post subject:
|
 |
|
great work dusty, I've PM'd you. I want to get back into working on the imfree again. I have 2 of them now, so I can test multiple hubs and devices.
David
|
|
Back to top |
|
 |
|