Mike R / Mbed 2 deprecated Pinscape_Controller_V2

Dependencies:   mbed FastIO FastPWM USBDevice

Fork of Pinscape_Controller by Mike R

Files at this revision

API Documentation at this revision

Comitter:
mjr
Date:
Wed Dec 22 21:48:24 2021 +0000
Parent:
115:39d2eb4b1830
Commit message:
Add Arnoz RigMaster and KLShield boards

Changed in this revision

USBProtocol.h Show annotated file Show diff for this revision Revisions of this file
config.h Show annotated file Show diff for this revision Revisions of this file
--- a/USBProtocol.h	Fri Oct 01 03:31:08 2021 +0000
+++ b/USBProtocol.h	Wed Dec 22 21:48:24 2021 +0000
@@ -1030,7 +1030,8 @@
 //                    1 = Pinscape Expansion Boards
 //                    2 = Oak Micros Pinscape All-In-One (AIO) Board
 //                    3 = Oak Micros Pinscape Lite Board
-//                    4 = Arnoz Mollusk Board
+//                    4 = Arnoz RigMaster board
+//                    5 = Arnoz KLShield Board
 //
 //         byte 4 = board set interface revision.  This *isn't* the version number
 //                  of the board itself, but rather of its software interface.  In
@@ -1047,7 +1048,10 @@
 //                  For Oak Micros Lite (type 3):
 //                    0 = first release
 //
-//                  For Arnoz Mollusk (type 4):
+//                  For Arnoz RigMaster (type 4):
+//                    0 = first release (2021)
+//
+//                  For Arnoz KLShield (type 5):
 //                    0 = first release (2021)
 //
 //         bytes 5:8 = additional hardware-specific data.  These slots are used
@@ -1059,7 +1063,11 @@
 //                    byte 6 = number of MOSFET power boards
 //                    byte 7 = number of chime boards
 //                    byte 8 = not used
-//                  
+//
+//                  For Arnoz RigMaster (board set type 4) and KLShield (type 5):
+//                    byte 5 = number of main baords (always 1)
+//                    byte 6 = number of Mollusk PWM add-on boards
+//
 //
 // 15 -> Night mode setup.  
 //
--- a/config.h	Fri Oct 01 03:31:08 2021 +0000
+++ b/config.h	Wed Dec 22 21:48:24 2021 +0000
@@ -454,11 +454,18 @@
             };               
             button[i].set(bp[i], 
 #if TEST_CONFIG_EXPAN
-                // For expansion board testing only, assign the inputs
-                // to keyboard keys A, B, etc.  This isn't useful; it's
-                // just for testing purposes.  Note that the USB key code
-                // for "A" is 4, "B" is 5, and so on sequentially through 
-                // the alphabet.
+                // For expansion board testing only, assign the button inputs
+                // to the alphabetic keys A, B, etc.  This isn't intended for
+                // actual deployment - for that, you'll usually want to map
+                // the buttons to the keyboard subset that the pinball
+                // simulators all use (shift keys for flippers, "1" for
+                // Start, 3/5 for Coin In, etc).  This A-B-C... mapping is
+                // purely for testing purposes; it makes it easy to remember
+                // which input is supposed to map to which key without
+                // having to consult a lookup table.  The USB HID key code
+                // for "A" is 4, "B" is 5, and so on sequentially through
+                // the alphabet.  The default configuration has 24 buttons,
+                // so we don't quite exhaust the alphabet with this setup.
                 BtnTypeKey, i+4);
 #elif STANDARD_CONFIG
                 // For the standard configuration, assign the input to
@@ -643,7 +650,10 @@
         uint8_t typ;        // expansion board set type:
                             //    0 -> Standalone KL25Z
                             //    1 -> Pinscape Expansion Boards
-                            //    2 -> Pinscape All-In-One (AIO)
+                            //    2 -> Oak Micros Pinscape All-In-One (AIO)
+                            //    3 -> Oak Micros Pinscape Lite
+                            //    4 -> Arnoz RigMaster
+                            //    5 -> Arnoz KLShield
         uint8_t vsn;        // board set interface version
         uint8_t ext[4];     // extended data - varies by board set type