Created socket_server. This program is made to replace ui_devel_sim900_pyro_server. It registers itself in pyro namespace, but instead of giving fake data, queries the real sim900 with the get_data() method. I also changed the performance so it updates its own self.data on a separate thread, and the fetchDict() method just returns the self.data. This seems to have helped the lag isses observed in the GUI.

I did encounter a problem when trying to connect to the sim900 with a socket from another server. It wasn't able to connect or blocked the socket_server's updating thread, causing it to crash. This is a crucial issue since we want to be able to both fetch data and give commands at the same time. The solution may be a queue that makes sure outgoing commands don't collide. Another possibility is to set reuse port = true. Look into these Friday.

Added debug_flags to sim900_socket. Now can be startup with the flag true or false to allow extra debug statements. Eventually replace this with a logger it necessary.