| | LNP Repost
|
|
I thought it might be good to repost this with some changes... Okay a little smaller... Only a 4 byte header... |0|1|2|3|4|5|6|7|0|1...3|4|5|6|7| ---...--- | 0xF | VER | TOADDR | PORT| FRADDR | PORT| PAYLOADLEN | ---...--- / PAYLOAD / ---...--- / (...) (26 years ago, 16-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
(...) I can see this. but it is starting to feel a little cramped on the ports, though. What functionality is port 0 reserved for? Actually, I was thinking of reserving a host address (such as 0x0) for IPC. I'd probably want to have more than 3 (...) (26 years ago, 16-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
I personally can't see needing more than about 7 tasks listening at one time anyway. Keep in mind that the resources on the lego are very very small. As far as reserving an address for IPC that would be fine. We could reserve 00000b for IPC and (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
(...) I'd prefer 11111b for broadcast, in keeping with TCP/IP. Cheers, Ben. -- (URL) grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to try to be in the first group; there was (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
(...) Actually, no. On attempt 16, you reserve some more bits further down for the new version number :-) Cheers, Ben. -- (URL) grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
(...) For IPC, each (unshared) connection would take 2 ports (src/dest), so 4 bits at least lets us have 7 IPCs (assuming port 0 is reserved as it is in Berkeley sockets, 8 if it is not). I could certainly see having need of more than 3 IPC (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | RE: LNP Repost
|
|
Those are some really good points, but I am still concerned about the complexity and overhead of implementing IPC on the lego. Since resources are so limited it might just be easier to use shared memory and semaphores to communicate. On the other (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | RE: LNP Repost
|
|
Very true, but lets try hard not to add any more bytes to the header. The smaller the better since the packets are probably pretty small. -Jake -----Original Message----- From: Ben Laurie [mailto:ben@algroup.co.uk] Sent: Saturday, April 17, 1999 (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
(...) Indeed. I just figured that since the infrastructure would already be there for networking, it would be elegant to use the same for IPC. As you said, they don't actually need to be integrated. Then, there is your point about compiling in LNP (...) (26 years ago, 17-Apr-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
Hi, I'm kinda new to LUGNET, so if I get this wrong - sorry! I'm interested in this LNP idea that seemed to be floating around a few months ago. Is it still alive, and if so what state has it got to? I would be grateful if someone can post or e-mail (...) (25 years ago, 27-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
(...) I remember that! But aren't you supposed to do it mod 255 for maximum effectiveness? Cheers, Ben. -- (URL) grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to try to be in (...) (25 years ago, 27-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost (Checksum algorithm)
|
|
This has little (Err... nothing in fact) to do with Lego, but worth noting as it is handy when you need a good SW checksum! (...) Indeed, as you say the standard I mentioned does use mod 255 (See Annex C ISO/IEC 8473-1 : 1994 [(URL) As far as I can (...) (25 years ago, 28-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
(...) My only thoughts are that not everybody will need or want the generality of port support in the protocol. I would suggest reordering the first four bytes, moving the payload length up toward the front, and defining it to explicitly include the (...) (25 years ago, 28-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost (Me banging on about checksums)
|
|
(...) With much respect, I would suggest that CRC8 is probably not sufficient, especially if we go for a broadcast (Ethernet) solution, where lots of collisions, and hence errors, will probably occur - with CRC8 you will probably miss about 1 in 256 (...) (25 years ago, 29-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost (Me banging on about checksums)
|
|
(...) You will miss about 1 in 256 errors that you do not catch earlier using collision detection. I think your error rate per message will be much less than 1 in 256 if you (can?) get the collision detection code right. But we shouldn't argue the (...) (25 years ago, 29-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP Repost
|
|
(...) I'm not sure you can construct a sensible CRC16 that has a CRC8 as one byte. Cheers, Ben. -- (URL) grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to try to be in the first (...) (25 years ago, 30-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | RE: LNP Repost
|
|
(...) I think Kekoa means that we should calculate the CRC16 and use only the high byte in the message, to save space. If we then tag the low byte on later, the old code expecting only the high byte won't break.... Cheers, Ralph Hempel - P.Eng (...) (25 years ago, 30-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | LNP - lets get coding.
|
|
(...) Hi, Didn't mean to come across as arguing - sorry if I did! As you say, lets get coding LNP (My assumption is that the coding bit hasn't started yet, if it has, please accept my apologies & let me know how it is going!). I guess the things (...) (25 years ago, 31-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP - lets get coding.
|
|
(...) No, you didn't - I just didn't wanted to make sure I wasn't :) (...) This has already been done, for Librcx at least; don't know if anybody took a look at the code I put at: (URL) mentioned wanting to maybe take a look at that; porting to (...) (25 years ago, 31-Jul-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP - lets get coding.
|
|
(...) I have just grabbed a copy - will have a look! Where do you suggest we go from here? I'm up for creating an initial API and getting some code cut (Within my limits - I know little/nothing about Linux & MacOS, and as yes LegOS). However, I'm (...) (25 years ago, 1-Aug-99, to lugnet.robotics.rcx.legos)
|
|
| | Re: LNP - lets get coding.
|
|
(...) Regarding where to go from here, if you step up to do the coding, I believe where to go is up to you. I don't know if that is how it usually works, but I certainly wouldn't want to be coding up something I am not happy with, so I would expect (...) (25 years ago, 1-Aug-99, to lugnet.robotics.rcx.legos)
|