device.h 2.23 KB
#ifndef ION_DEVICE_H
#define ION_DEVICE_H

namespace Ion {
namespace Device {

void init();
void shutdown();

void initFPU();
void initPeripherals();
void shutdownPeripherals();
void initClocks();
void shutdownClocks();

/*  Pin | Role              | Mode                  | Function
 * -----+-------------------+-----------------------+----------
 *  PA0 | Battery sensing   |                       |
 *  PA2 | LCD D4            | Alternate Function 12 | FMSC_D4
 *  PA3 | LCD D5            | Alternate Function 12 | FSMC_D5
 *  PA4 | LCD D6            | Alternate Function 12 | FSMC_D6
 *  PA5 | LCD D7            | Alternate Function 12 | FSMC_D7
 *  PA6 | LED red           | Alternate Function XX | TIM3_CH1
 *  PA7 | LED green         | Alternate Function XX | TIM3_CH2
 *  PA9 | USB VBUS prob     | Input, pulled down    |
 *  PB0 | LED blue          | Alternate Function XX | TIM3_CH3
 *  PB1 | Keyboard row A    | Output, open-drain    |
 *  PB2 | Keyboard row B    | Output, open-drain    |
 *  PB3 | Keyboard row C    | Output, open-drain    |
 *  PB4 | Keyboard row D    | Output, open-drain    |
 *  PB5 | Keyboard row E    | Output, open-drain    |
 *  PB6 | Keyboard row F    | Output, open-drain    |
 *  PB7 | Keyboard row G    | Output, open-drain    |
 *  PB8 | Keyboard row H    | Output, open-drain    |
 *  PB9 | Keyboard row I    | Output, open-drain    |
 * PB10 | Keyboard row J    | Output, open-drain    |
 * PB14 | LCD D0            | Alternate Function 12 | FSMC_D0
 *  PC0 | Keyboard column 1 | Input, pulled-up      |
 *  PC1 | Keyboard column 2 | Input, pulled-up      |
 *  PC3 | LCD data/command  | Alternate Function 12 | FSMC_A0
 *  PC4 | LCD chip select   | Alternate Function 12 | FSMC_NE4
 *  PC5 | LCD read signal   | Alternate Function 12 | FSMC_NOE
 *  PC6 | LCD D1            | Alternate Function 12 | FSMC_D7
 *  PC9 | LCD backlight     | Alternate Function 12 | TIM3_CH4
 * PC11 | LCD D2            | Alternate Function 12 | FSMC_D2
 * PC12 | LCD D3            | Alternate Function 12 | FSMC_D3
 * PC13 | Keyboard column 3 | Input, pulled-up      |
 * PC14 | Keyboard column 4 | Input, pulled-up      |
 * PC15 | Keyboard column 5 | Input, pulled-up      |
 *  PD2 | LCD write signal  | Alternate Function 12 | FSMC_NWE
 */

}
}

#endif