Week9

Objectives
Finish the wiring for next week and get it working!!

Progress
Continued the wirring. Mostly wrapped the old local code in a forme that is more adapted to the network wirring (I wasn't satisfied by the old one). Looked at the jcsp.net2 source code to have a better knowledge of how it work. As a result, I didn't finished the wiring but I should not have to change anything but the NodeAddress to adapt it to the futur bluetooth API since it's the component that provide all the other network type specific parts to the net2 packadge.

As the net2 API use a lot of static elements inside itself, we can't create 2 separate instance of it and I located at least one mechanisme that would not support the simultanous use of 2 type of network unless the used NodeAddress do. The provided NodeAddress implementation don't dirrectly but the IP protocol is designed to work over any network. We, therefor, have two way to allow the different process on the central PC to communicate both over the IP network and over the bluettooth network. Either we implement a NodeAdress that support the simultaneous of both, either we set up a bluetooth gateway, implement a TCP/IP server on our lego robots and use them like standard TCP/IP device. This option would allow much more than the first one. However, allowing such a thing seems to be outside the project range but could be the subject of a futur project.

Supervisor's Comments
Remember to state in your reprt why you repakcaged the original code. That will count as critical evaluation and that will get you lots of marks. Also why the net2 packages use of static elements may cause a problem in the future.

There are undoubtedly two ways of doing this, if not more! Essentially, the central BT manager node receives a message and then forwards it to the desired destination node.

You could create special source and destination addresses that contain the BT manager and local address, which the menager node could then strip out as it forwards the message.

If you prefix a BT style address by a special flag then the net2 software just has to be modified to recognise the address style flag and then deal with it appropriately.

For example a BT address could be something like @m:xx:xx:xx:xx@l:yy:yy:yy:yy

where @m is the master node BT address xx:xx:xx:xx and @l is the node BT address yy:yy:yy:yy

IP addresses do not start with @

thus @m:xx:xx:xx:xx192.168.1.65:zzzzzzz would be a destination address that sent the message to an IP address. This is not for immediate implemnetation but could be very intersting as a section in your future work section

In general, the comments you have made regarding wiring and understanding net2 all make complete sense and show that you have understood the problem.