An I/O controller for virtual pinball machines: accelerometer nudge sensing, analog plunger input, button input encoding, LedWiz compatible output controls, and more.

Dependencies:   mbed FastIO FastPWM USBDevice

Fork of Pinscape_Controller by Mike R

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers DMAChannels.h Source File

DMAChannels.h

00001 // Pinscape Controller DMA channel assignments
00002 //
00003 // The SimpleDMA class has provisions to assign channel numbers
00004 // automatically as transfers are performed, but auto assignment
00005 // doesn't play well with "channel linking", which we use in the
00006 // TSL1410R code.  Channel linking requires us to know the hardware
00007 // channel number of the link target before any transfers start.
00008 // The only good way to do this is to pre-assign specific numbers.
00009 // And once we start doing this, it's easiest to assign numbers
00010 // for everyone.
00011 //
00012 
00013 #ifndef DMAChannels_H
00014 #define DMAChannels_H
00015 
00016 // --------------------------------------------------------------
00017 //
00018 // Plunger Sensors
00019 //
00020 // Plunger sensors are mutually exclusive since there's only one
00021 // in any given system, so any channels assigned for one type of 
00022 // sensor can be reused by other sensor types.
00023 
00024 // TSL1410R linear optical array plunger sensor
00025 const int DMAch_TSL_CLKUP   = 1;    // Clock Up signal generator
00026 const int DMAch_TSL_ADC     = 2;    // ADC (analog input) sample transfer
00027 const int DMAch_TSL_CLKDN   = 3;    // Clock Down signal generator
00028 
00029 // TDC1103 linear CCD plunger sensor
00030 const int DMAch_TDC_ADC     = 2;  // ADC (analog input) sample transfer
00031 
00032 // --------------------------------------------------------------
00033 //
00034 // Free channels - not currently assigned.
00035 //
00036 const int DMAch_Unused0 = 0;
00037 
00038 
00039 #endif