Spoiler:
Implementation details:I'm going to write a driver for common USB <-> RS232 converter. This will allow KolibriOS to communicate with many devices. Also this chip can act as the programming device for most of MCUs. So implementation of this driver will enable users to write and flash firmwares directly in KolibriOS environment, without necessity of switching between operating systems.
To do:
Stable FT232 VCP Driver
KolibriOS will have support for Virtual COM port
Stable FT232 D2XX Driver
KolibriOS users will be able to directly control FT232 chip IO buses and write some embedded systems.
Arduino sketches flash utility
Plugin or standalone software to write and flash firmware
Special-design circuit board
Demonstration board designed specifically for KolibriOS users. I want to design my own FT232 circuit board as part of GSoC because there is no ready-made board like this one available with the following functionalities:
Direct control basic parts, e.g. relays, LEDs
Interface for device with low-level protocol, e.g. RS-232, I2C, One-wire, any custom protocol
Replacement of some of chip programming devices
Timeline:
Code: Select all
From To Task
April 21 May 19 Study KolibriOS driver model
May 19 June 8 Study FT232 datasheet
June 9 June 22 Trace and solder the circuit board with a FT232 chip
June 23 June 29 Develop and test VCP driver
June 30 July 20 Develop and test D2XX driver
July 21 August 3 Develop UI utilities to work with a FT232 chip
August 4 August 18 Refactor
Other time commitments: Exams June 14 - June 28
My name is Yurii Shevtsov. I am 18 years old. I have never participated in any open-source organizations, but I participated in several programming contests, while I was in high school.
Skills:
Education:
I am a 2nd year student of Odessa Polytechnic University, Ukraine.
The major in Computer Science and System Software design
GMT+2
When I was writing Timeline, I didn't know, how exactly it would be. It's clear now that one month is too much for manual studying. So, I already started working on the driver. Also I want to notice, that FTDI (chip manufacturer) sends protocol description only under NDA, but fortunately there is free Linux driver, where I found all needed constants. Instead of two drivers I will write one, combining VCP and D2XX. Also hidnplayr suggested, that maybe it's worth to add kernel functions for VCP support. Personally I think, that usb device identification and driver call should be modified (now driver is called for device class). However, while there is no driver, no need to talk about changes in kernel)