Setup
| 113 | |
| 114 | // Setup |
| 115 | inline void Scan_setup() { |
| 116 | // Register Scan CLI dictionary |
| 117 | CLI_registerDictionary(scanCLIDict, scanCLIDictName); |
| 118 | |
| 119 | #if defined(_teensy_3_) |
| 120 | // Enable interrupts for port B. |
| 121 | NVIC_ENABLE_IRQ(IRQ_PORTB); |
| 122 | |
| 123 | // Set pins to input: |
| 124 | PS2_PORT_PDDR &= ~(1 << PS2_CLOCK_PIN); |
| 125 | PS2_PORT_PDDR &= ~(1 << PS2_DATA_PIN); |
| 126 | PS2_CLOCK_PCR = PORT_PCR_MUX(1); |
| 127 | PS2_DATA_PCR = PORT_PCR_MUX(1); |
| 128 | |
| 129 | // Register pin PS2_CLOCK to trigger interrupt on port B: |
| 130 | // falling mask is 0x0A, see pins_teensy.c |
| 131 | // 16 is location in register, not pin |
| 132 | uint32_t mask = (0x0A << 16) | 0x01000000; |
| 133 | __disable_irq(); |
| 134 | PS2_CLOCK_PCR |= mask; |
| 135 | __enable_irq(); |
| 136 | #else |
| 137 | #warning "Not implemented" |
| 138 | #endif |
| 139 | } |
| 140 | |
| 141 | |
| 142 | // Main Detection Loop |
no test coverage detected
searching dependent graphs…