Summer of Code - Getting Started: Difference between revisions

no edit summary
No edit summary
Line 195: Line 195:


'''Potential mentor''':  Arne Nordmann, Juan Pablo Carbajal
'''Potential mentor''':  Arne Nordmann, Juan Pablo Carbajal
=== Low-Level I/O ===
Octave currently provides file I/O and sockets for communicating with the outside world. Octave is currently not capable of communicating over serial interfaces (RS232) or, for example, I2C and CAN (although an workaround for serial I/O exists, however the author could never get it to work in an acceptable way). The project would provide communication interfaces in octave, allowing octave to directly communicate with measurement systems, data acquisition systems, sensors, robotic systems and the like.
RS232 interfaces are often deemed "legacy", however there is not only an enormous amount of expensive, existing instrumentation equipment out there, still using RS232, but due to the simplicity it is still common in new embedded systems, often bridged via USB providing a virtual com port.
Potential interfaces to support could, for example, be RS232, I2C, CAN, LIN, SPI, parallel port, GPIB, USB HID, USBTMC. One initial task of the student would be to select a subset of these standards to support, taking, for example, existing drivers into account.
'''Required skills''': C++, system programming knowledge, knowledge of Octave's current handling of file descriptors.
'''Difficulty''': Mostly medium, depending depending on existing driver support and experience with the protocols
'''Potential mentor''': Michael Godfrey (?)