7 #if ! defined(__ARDUINO)
30 analogWriteResolution(12);
31 Timer1.initialize((
int) (1000000 *
DT));
33 pinMode(11, INPUT_PULLUP);
35 digitalWrite(10,
LOW);
44 pinMode(LED_BUILTIN, OUTPUT);
48 v[i].setfreq(6 + 2 * i);
51 keyboard[i] =
new Key();
53 keyboard[i]->
pitch = 440.0 * pow(1.0594631, i - 9);
74 static uint8_t led_time;
76 if (samples.
read(&x) == 0) {
86 digitalWrite(LED_BUILTIN,
HIGH);
90 digitalWrite(LED_BUILTIN,
LOW);
99 uint32_t j = id, chip;
100 digitalWrite(10,
LOW);
111 digitalWrite(4, (j >> 2) & 1);
112 digitalWrite(3, (j >> 1) & 1);
113 digitalWrite(2, (j >> 0) & 1);
114 digitalWrite(5, chip == 1);
115 digitalWrite(6, chip == 0);
116 digitalWrite(7, chip == 2);
117 digitalWrite(8, chip == 3);
118 digitalWrite(9, chip == 4);
120 digitalWrite(10,
HIGH);
121 while (!digitalReadFast(11)) Y++;
122 digitalWrite(10,
LOW);
135 static uint32_t
x, again = 0;
145 again = samples.
write(x);
162 keyboard[i]->check();
163 for (i = 0; i < 64; i++)
void compute_sample(void)
uint8_t read(uint32_t *x)
uint32_t get_12_bit_value(void)
uint8_t read_key(uint32_t id)
uint8_t write(uint32_t x)
void timer_interrupt(void)