Nucleo Sequencer of my Base Machine
Dependencies: Amp AverageAnalogIn Envelope FilterController Sequence BaseMachineComon mbed-rtos mbed
Fork of SpiSequenceSender_Test by
Diff: main.cpp
- Revision:
- 4:dd1582f2e5df
- Parent:
- 3:e5f26ae1bff3
- Child:
- 5:4abac408b827
diff -r e5f26ae1bff3 -r dd1582f2e5df main.cpp --- a/main.cpp Fri Jun 03 08:14:40 2016 +0000 +++ b/main.cpp Thu Jun 09 14:30:13 2016 +0000 @@ -4,10 +4,14 @@ #define SEQUENCE_N 16 +#define WAVESHAPE_SQUARE 0 +#define WAVESHAPE_SAW 1 +#define WAVESHAPE_N 2 + #define SPI_RATE (8000000) #define SPI_WAIT (wait_us(1)) #define DCO_PACKET_HEADER (0x55) -#define DCO_WAVE_FORM (0x00) +#define DCO_WAVE_FORM (WAVESHAPE_SQUARE) #define DCO_PULSE_WIDTH (0x80) #define DBG_TRACE 0 @@ -21,7 +25,8 @@ virtual void outDco(uint32_t frequency) { uint16_t frequency16 = frequency >> 16; -#if(DBG_TRACE) + + #if(DBG_TRACE) printf("%d\t", frequency16); printf("%d\t", DCO_PACKET_HEADER); printf("%d\t", DCO_WAVE_FORM); @@ -29,7 +34,8 @@ printf("%d\t", frequency16 >> 8); printf("%d\t", frequency16 & 0xff); printf("\r\n"); -#endif + #endif + DcoCS = 0; pSpiM->write(DCO_PACKET_HEADER); pSpiM->write(DCO_WAVE_FORM); @@ -48,7 +54,7 @@ SPI spiMaster(SPI_MOSI, SPI_MISO, SPI_SCK); Sequence sequence[SEQUENCE_N]; -SpiSequenceSender sequenceSender(&spiMaster, D10, sequence, SEQUENCE_N, 10); +SpiSequenceSender sequenceSender(&spiMaster, D10, sequence, SEQUENCE_N, 5); int main() { @@ -57,20 +63,18 @@ // Test SequencerSender Run // - sequenceSender.setBpm(20); + sequenceSender.setBpm(120); for (int i = 0; i < SEQUENCE_N; i++) { Sequence& seq = sequenceSender.getSequences()[i]; - seq.setPitch(0); - seq.setOctave(0); + seq.setPitch(i); + seq.setOctave(-1); seq.tie = true; } sequence[3].setOctave(1); - sequence[3].tie = false; - sequence[7].setOctave(1); - sequence[11].setOctave(-1); - sequence[11].tie = false; - sequence[15].setOctave(1); + sequence[7].setOctave(0); + sequence[11].setOctave(1); + sequence[15].setOctave(0); sequenceSender.run(0); }