I'm starting with Leonardo and I'm a bit confuse about the serial modem function. As you know on boot the Leonardo for the first 8 seconds wait for a program on the USB port and then it goes in serial modem mode while my program runs.
I'm designing a consumer product (open source) and I will like to make some modifications to my board in order to make it more friendly:
- On boot it has to go into programming mode only if a jumper is set. Otherwise it goes directly into serial modem.
- I need to change to modem name, instead of:
- Have the operating system pickup the serial modem with no drivers request.
For 1 and 2, is it possible? should I try to modify Caterina or it will be easier to work with Optiboot? Number 3 works already in linux distributions, but in Windows some pcs ask for drivers are, and even worse, some windows 64bits + usb3 requires some minors hacks to pick up the Leonardo serial drivers, is it possible to improve? Ideally I want the board to be connected to a PC/Mac/Linux and get configured as a serial com with no user intervention.
I think this are questions that every person trying to create a consumer product with Arduino needs to answer before producing the actual product. So, and resources, references and where to start guides will help me and other people in the community.