-
Notifications
You must be signed in to change notification settings - Fork 7
Hardware
"Ford: Um...let's push this button here! [Pushes button] [Screen displays "Do not press this button again"]"-Hitchhiker's Guide to the Galaxy
The USB connection appears as an USB-CDC serial device.
There is a signed driver in the source repository Marionette Windows Driver.
The firmware has been developed primarily on a Waveshare Core407I development system. There is some support available for the STDiscovery F407 development board as well.
For ADC1 the input connections are currently as follows:
/*! \brief pin and port definitions */
#if defined(BOARD_WAVESHARE_CORE407I) || defined(__DOXYGEN__)
static const ADC_input ADC1_IN0 = { GPIOA, GPIOA_PIN0 } ;
static const ADC_input ADC1_IN1 = { GPIOA, GPIOA_PIN1 } ;
static const ADC_input ADC1_IN2 = { GPIOA, GPIOA_PIN2 } ;
static const ADC_input ADC1_IN3 = { GPIOA, GPIOA_PIN3 } ;
static const ADC_input ADC1_IN4 = { GPIOA, GPIOA_PIN4 } ;
static const ADC_input ADC1_IN5 = { GPIOA, GPIOA_PIN5 } ;
static const ADC_input ADC1_IN6 = { GPIOA, GPIOA_PIN6 } ;
static const ADC_input ADC1_IN7 = { GPIOA, GPIOA_PIN7 } ;
static const ADC_input ADC1_IN8 = { GPIOB, GPIOB_PIN0 } ;
static const ADC_input ADC1_IN9 = { GPIOB, GPIOB_PIN9 } ;
static const ADC_input ADC1_IN10 = { GPIOC, GPIOC_PIN0 } ;
//static const ADC_input ADC1_IN11 = { GPIOC, GPIOC_PIN1 } ; // used for USB OTG_PWR_OUT
//static const ADC_input ADC1_IN12 = { GPIOC, GPIOC_PIN2 } ; // used for USB OTG_HS_ULPI_DIR
static const ADC_input ADC1_IN13 = { GPIOC, GPIOC_PIN3 } ;
static const ADC_input ADC1_IN14 = { GPIOC, GPIOC_PIN4 } ;
static const ADC_input ADC1_IN15 = { GPIOC, GPIOC_PIN5 } ;
Note that the device inputs for GPIOC, PIN1 and GPIOC, PIN2 are allocated for USB OTG connections and cannot be used as ADC inputs. This reduces the number of external ADC channels on any ADC peripheral to 14.
Currently a device is programmed with the Marionette firmware through the SWD pins on the STM32F407 device. For details on building a firmware image and programming a device please see the development repository at Marionette Github Repository