mborgerson
Well-known member
I've managed to modify the USBHost serial connection to communicate with the Boson camera. I can now control the camera through its USB Serial interface. This port communicates using a SLIP protocol that requires bit stuffing and unstuffing which means reading and writing one byte at a time. As a result, it takes about 6.3 seconds to upload a 655KB uncompressed 640x512 16-bit image. Not exactly blazing speed--a bit like drinking beer through a cocktail straw. It takes a long time, but you get the same result. Communicating with the Boson requires a modified host Serial interface. Left to its own devices, the USBHost_t36 library doesn't recognize the camera and treats it as a CDC ACM device. When it tries to send the default ACM control packets, something goes wrong and the program crashes. When recognized by the modified serial.cpp code, the boson is recognized as a serial port than requires no control packets and the interface can talk to the camera.
I've started experimenting with methods for faster uploads using the BOSON dedicated bulk input endpoint. That has brought to light some issues with the Teensy Host serial interface that will be the subject of another thread in the Tech Support forum.
Here's a sample image. It's 9AM on Sunday morning, so the cold beverage is just ice water--to add a bit of contrast. The uploaded frame is a series of 16-bit integers which are (Kelvin Degrees) * 100. The temperatures were converted to Degrees C. and the image was plotted in MatLab.
I've started experimenting with methods for faster uploads using the BOSON dedicated bulk input endpoint. That has brought to light some issues with the Teensy Host serial interface that will be the subject of another thread in the Tech Support forum.
Here's a sample image. It's 9AM on Sunday morning, so the cold beverage is just ice water--to add a bit of contrast. The uploaded frame is a series of 16-bit integers which are (Kelvin Degrees) * 100. The temperatures were converted to Degrees C. and the image was plotted in MatLab.