rikka0w0 / STM8-VUSB

Low-speed USB implemented on STM8 microcontrollers
88 stars 35 forks source link

STM8 custom HID device demo

Announcement and last update

This project has been stopped for nearly a year and I think it is time to demonstrate some of my latest progress. Unfortunately, I am super busy at this moment, I made a really hard decision, which is I am about to stop working on this project, but you can still feel free to contact me for support. I am going to release some of my un-uploaded progress here.

This piece of software consists of two major parts:

The original author (the Russian) did not implement bit-destuffing properly in the Rx code. I proposed two ways to overcome this problem:

License stuff: I'm not a professional programmer. You can use this software in any open source projects and you are allowed to distribute modified version of this software, as long as the entire source code remains open source! For commercial purposes, contact me.

Setup and Configuration

Aim: Simulate a low-speed USB1.1 device using cost-effective STM8 microcontrollers

Current progress: Able to enumerate the device as a vendor-defined HID device Able to receive data from the host

To-Do: Add support to "String Descriptors" "Hide" low level USB functions for high level designers

Hardware configuration:

Optional Bits: AFR0 - Port C6 = TIM1_CH1, C7 = TIM1_CH2 Above settings can be done using "light programmer" in STVD

Compiler: ST Visual Develop (STVD) + Cosmic CxSTM8 C compiler

Special thanks: Original author (Russian): https://github.com/ZiB/STM8S-USB HID Example (Chinese): https://github.com/wlianmin/stm8_usb

Background and references: http://www.usbmadesimple.co.uk/ums_3.htm http://www.beyondlogic.org/usbnutshell/usb4.shtml#Interrupt