// The mainboard constructor gets called before anything else in Gadgeteer (module constructors, etc), // so it can set up fields in Gadgeteer.dll specifying socket types supported, etc. /// <summary> /// Instantiates a new GR Sakura IoT Kit mainboard /// </summary> public GR_Sakura_IoT_Kit() { // comment the following if you do not support NativeI2C for faster DaisyLink performance // otherwise, the DaisyLink I2C interface will be supported in Gadgeteer.dll in managed code. GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; // For each socket on the mainboard, create, configure and register a Socket object with Gadgeteer.dll // This specifies: // - the SupportedTypes character array matching the list on the mainboard // - the CpuPins array (indexes [3] to [9]. [1,2,10] are constant (3.3V, 5V, GND) and [0] is unused. This is normally based on an enumeration supplied in the NETMF port used. // - for other functionality, e.g. UART, SPI, etc, properties in the Socket class are set as appropriate to enable Gadgeteer.dll to access this functionality. // See the Mainboard Builder's Guide and specifically the Socket Types specification for more details // The two examples below are not realistically implementable sockets, but illustrate how to initialize a wide range of socket functionality. // This example socket 1 supports many types // Type 'D' - no additional action // Type 'I' - I2C pins must be used for the correct CpuPins // Type 'K' and 'U' - UART pins and UART handshaking pins must be used for the correct CpuPins, and the SerialPortName property must be set. // Type 'S' - SPI pins must be used for the correct CpuPins, and the SPIModule property must be set // Type 'X' - the I2CBusIndirector is set (though by default "nativeI2C" is null) socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'D', 'I', 'K', 'S', 'U', 'X' }; socket.CpuPins[3] = (Cpu.Pin) 1; socket.CpuPins[4] = (Cpu.Pin) 52; socket.CpuPins[5] = (Cpu.Pin) 23; socket.CpuPins[6] = (Cpu.Pin) 12; socket.CpuPins[7] = (Cpu.Pin) 34; socket.CpuPins[8] = (Cpu.Pin) 5; socket.CpuPins[9] = (Cpu.Pin) 7; socket.I2CBusIndirector = nativeI2C; socket.SerialPortName = "COM1"; socket.SPIModule = SPI.SPI_module.SPI1; GT.Socket.SocketInterfaces.RegisterSocket(socket); // This example socket 2 supports many types // Type 'A' - AnalogInput3-5 properties are set and GT.Socket.SocketInterfaces.SetAnalogInputFactors call is made // Type 'O' - AnalogOutput property is set // Type 'P' - PWM7-9 properties are set // Type 'Y' - the NativeI2CWriteRead function pointer is set (though by default "nativeI2C" is null) socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'A', 'O', 'P', 'Y' }; socket.CpuPins[3] = (Cpu.Pin) 11; socket.CpuPins[4] = (Cpu.Pin) 5; socket.CpuPins[5] = (Cpu.Pin) 3; socket.CpuPins[6] = (Cpu.Pin) 66; // Pin 7 not connected on this socket, so it is left unspecified socket.CpuPins[8] = (Cpu.Pin) 59; socket.CpuPins[9] = (Cpu.Pin) 18; socket.AnalogOutput5 = Cpu.AnalogOutputChannel.ANALOG_OUTPUT_0; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 1, 2, 10); socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_2; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_3; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_1; socket.PWM7 = Cpu.PWMChannel.PWM_3; socket.PWM8 = Cpu.PWMChannel.PWM_0; socket.PWM9 = Cpu.PWMChannel.PWM_2; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); }
/// <summary>Constructs a new instance.</summary> public FEZCobraIIEco() { this.ldr0 = null; this.ldr1 = null; this.debugLed = null; this.storageDevices = new IRemovable[2]; this.sdCardStorageDevice = null; RemovableMedia.Insert += this.OnInsert; RemovableMedia.Eject += this.OnEject; Controller.MouseConnected += (a, b) => { this.connectedMouse = b; this.OnMouseConnected(this, b); b.Disconnected += (c, d) => this.connectedMouse = null; }; Controller.KeyboardConnected += (a, b) => { this.connectedKeyboard = b; this.OnKeyboardConnected(this, b); b.Disconnected += (c, d) => this.connectedKeyboard = null; }; Controller.MassStorageConnected += (a, b) => { this.IsMassStorageConnected = true; this.MountStorageDevice("USB"); b.Disconnected += (c, d) => { this.IsMassStorageConnected = false; if (this.IsMassStorageMounted) { this.UnmountStorageDevice("USB"); } }; }; this.IsSDCardMounted = false; this.IsMassStorageConnected = false; this.IsMassStorageMounted = false; this.sdCardDetect = new InputPort(G120.P1_8, false, Port.ResistorMode.PullUp); if (this.IsSDCardInserted) { this.MountStorageDevice("SD"); } Controller.Start(); this.NativeBitmapConverter = this.BitmapConverter; #region Sockets GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'B', 'Y' }; socket.CpuPins[3] = G120.P2_13; socket.CpuPins[4] = G120.P1_26; socket.CpuPins[5] = G120.P1_27; socket.CpuPins[6] = G120.P1_28; socket.CpuPins[7] = G120.P1_29; socket.CpuPins[8] = G120.P2_4; socket.CpuPins[9] = G120.P2_2; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'G' }; socket.CpuPins[3] = G120.P1_20; socket.CpuPins[4] = G120.P1_21; socket.CpuPins[5] = G120.P1_22; socket.CpuPins[6] = G120.P1_23; socket.CpuPins[7] = G120.P1_24; socket.CpuPins[8] = G120.P1_25; socket.CpuPins[9] = G120.P1_19; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'R', 'Y' }; socket.CpuPins[3] = G120.P2_12; socket.CpuPins[4] = G120.P2_6; socket.CpuPins[5] = G120.P2_7; socket.CpuPins[6] = G120.P2_8; socket.CpuPins[7] = G120.P2_9; socket.CpuPins[8] = G120.P2_3; socket.CpuPins[9] = G120.P2_5; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'A', 'I', 'T', 'X' }; socket.CpuPins[3] = G120.P0_25; socket.CpuPins[4] = G120.P0_24; socket.CpuPins[5] = G120.P0_23; socket.CpuPins[6] = G120.P1_0; socket.CpuPins[7] = G120.P1_1; socket.CpuPins[8] = G120.P0_27; socket.CpuPins[9] = G120.P0_28; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_2; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_1; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_0; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'U', 'X' }; socket.CpuPins[3] = G120.P0_13; socket.CpuPins[4] = G120.P0_2; socket.CpuPins[5] = G120.P0_3; socket.CpuPins[6] = G120.P1_4; socket.SerialPortName = "COM1"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'S', 'X' }; socket.CpuPins[3] = G120.P2_21; socket.CpuPins[4] = G120.P1_14; socket.CpuPins[5] = G120.P1_16; socket.CpuPins[6] = G120.P1_17; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; socket.SPIModule = SPI.SPI_module.SPI2; GT.Socket.SocketInterfaces.RegisterSocket(socket); #endregion Sockets }
/// <summary>Constructs a new instance.</summary> public FEZSpider() { if ((DeviceType)SystemInfo.SystemID.Model != DeviceType.EMX) { throw new InvalidOperationException("You have selected the wrong mainboard in the designer. Please double check your mainboard."); } this.debugLed = null; this.storageDevices = new IRemovable[2]; Controller.Start(); this.NativeBitmapConverter = this.BitmapConverter; GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'D', 'I' }; socket.CpuPins[3] = EMX.IO21; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = EMX.IO19; socket.CpuPins[7] = EMX.IO75; socket.CpuPins[8] = EMX.IO12; socket.CpuPins[9] = EMX.IO11; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'Z' }; socket.CpuPins[3] = GT.Socket.UnnumberedPin; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = GT.Socket.UnnumberedPin; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'H', 'I' }; socket.CpuPins[3] = EMX.IO1; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = EMX.IO0; socket.CpuPins[8] = EMX.IO12; socket.CpuPins[9] = EMX.IO11; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'I', 'K', 'U', 'X' }; socket.CpuPins[3] = EMX.IO33; socket.CpuPins[4] = EMX.IO37; socket.CpuPins[5] = EMX.IO32; socket.CpuPins[6] = EMX.IO31; socket.CpuPins[7] = EMX.IO34; socket.CpuPins[8] = EMX.IO12; socket.CpuPins[9] = EMX.IO11; socket.SerialPortName = "COM2"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'F', 'Y' }; socket.CpuPins[3] = EMX.IO23; socket.CpuPins[4] = EMX.IO43; socket.CpuPins[5] = EMX.IO41; socket.CpuPins[6] = EMX.IO44; socket.CpuPins[7] = EMX.IO40; socket.CpuPins[8] = EMX.IO39; socket.CpuPins[9] = EMX.IO42; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'C', 'S', 'Y' }; socket.CpuPins[3] = EMX.IO18; socket.CpuPins[4] = EMX.IO20; socket.CpuPins[5] = EMX.IO22; socket.CpuPins[6] = EMX.IO10; socket.CpuPins[7] = EMX.IO36; socket.CpuPins[8] = EMX.IO38; socket.CpuPins[9] = EMX.IO35; socket.I2CBusIndirector = nativeI2C; socket.SPIModule = SPI.SPI_module.SPI2; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(7); socket.SupportedTypes = new char[] { 'E' }; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = GT.Socket.UnnumberedPin; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(8); socket.SupportedTypes = new char[] { 'P', 'U', 'Y' }; socket.CpuPins[3] = EMX.IO30; socket.CpuPins[4] = EMX.IO29; socket.CpuPins[5] = EMX.IO28; socket.CpuPins[6] = EMX.IO16; socket.CpuPins[7] = EMX.IO74; socket.CpuPins[8] = EMX.IO48; socket.CpuPins[9] = EMX.IO49; socket.SerialPortName = "COM3"; socket.I2CBusIndirector = nativeI2C; socket.PWM7 = Cpu.PWMChannel.PWM_5; socket.PWM8 = Cpu.PWMChannel.PWM_4; socket.PWM9 = Cpu.PWMChannel.PWM_3; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(9); socket.SupportedTypes = new char[] { 'A', 'O', 'S', 'U', 'Y' }; socket.CpuPins[3] = EMX.IO46; socket.CpuPins[4] = EMX.IO6; socket.CpuPins[5] = EMX.IO7; socket.CpuPins[6] = EMX.IO15; socket.CpuPins[7] = EMX.IO24; socket.CpuPins[8] = EMX.IO25; socket.CpuPins[9] = EMX.IO27; socket.SerialPortName = "COM4"; socket.I2CBusIndirector = nativeI2C; socket.SPIModule = SPI.SPI_module.SPI1; socket.AnalogOutput5 = Cpu.AnalogOutputChannel.ANALOG_OUTPUT_0; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_7; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_2; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_3; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.SetAnalogOutputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(10); socket.SupportedTypes = new char[] { 'A', 'I', 'T', 'X' }; socket.CpuPins[3] = EMX.IO45; socket.CpuPins[4] = EMX.IO5; socket.CpuPins[5] = EMX.IO8; socket.CpuPins[6] = EMX.IO73; socket.CpuPins[7] = EMX.IO72; socket.CpuPins[8] = EMX.IO12; socket.CpuPins[9] = EMX.IO11; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_6; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_1; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_0; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(11); socket.SupportedTypes = new char[] { 'P', 'U', 'Y' }; socket.CpuPins[3] = EMX.IO26; socket.CpuPins[4] = EMX.IO3; socket.CpuPins[5] = EMX.IO2; socket.CpuPins[6] = EMX.IO9; socket.CpuPins[7] = EMX.IO14; socket.CpuPins[8] = EMX.IO13; socket.CpuPins[9] = EMX.IO50; socket.SerialPortName = "COM1"; socket.I2CBusIndirector = nativeI2C; socket.PWM7 = Cpu.PWMChannel.PWM_1; socket.PWM8 = Cpu.PWMChannel.PWM_0; socket.PWM9 = Cpu.PWMChannel.PWM_2; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(12); socket.SupportedTypes = new char[] { 'B', 'Y' }; socket.CpuPins[3] = EMX.IO70; socket.CpuPins[4] = EMX.IO57; socket.CpuPins[5] = EMX.IO58; socket.CpuPins[6] = EMX.IO59; socket.CpuPins[7] = EMX.IO60; socket.CpuPins[8] = EMX.IO63; socket.CpuPins[9] = EMX.IO61; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(13); socket.SupportedTypes = new char[] { 'G' }; socket.CpuPins[3] = EMX.IO51; socket.CpuPins[4] = EMX.IO52; socket.CpuPins[5] = EMX.IO53; socket.CpuPins[6] = EMX.IO54; socket.CpuPins[7] = EMX.IO55; socket.CpuPins[8] = EMX.IO56; socket.CpuPins[9] = EMX.IO17; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(14); socket.SupportedTypes = new char[] { 'R', 'Y' }; socket.CpuPins[3] = EMX.IO69; socket.CpuPins[4] = EMX.IO65; socket.CpuPins[5] = EMX.IO66; socket.CpuPins[6] = EMX.IO67; socket.CpuPins[7] = EMX.IO68; socket.CpuPins[8] = EMX.IO62; socket.CpuPins[9] = EMX.IO64; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); }
/// <summary> /// Instantiates a new FEZCerbot mainboard /// </summary> public FEZCerbot() { this.storageDevices = new IRemovable[2]; Controller.Start(); // comment the following if you do not support NativeI2C for faster DaisyLink performance // otherwise, the DaisyLink I2C interface will be supported in Gadgeteer.dll in managed code. GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'F', 'Y' }; socket.CpuPins[3] = Generic.GetPin('B', 15); socket.CpuPins[4] = Generic.GetPin('C', 8); socket.CpuPins[5] = Generic.GetPin('C', 9); socket.CpuPins[6] = Generic.GetPin('D', 2); socket.CpuPins[7] = Generic.GetPin('C', 10); socket.CpuPins[8] = Generic.GetPin('C', 11); socket.CpuPins[9] = Generic.GetPin('C', 12); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'I', 'X' }; socket.CpuPins[3] = Generic.GetPin('C', 5); socket.CpuPins[4] = Generic.GetPin('A', 10); socket.CpuPins[5] = Generic.GetPin('B', 12); socket.CpuPins[6] = Generic.GetPin('C', 7); socket.CpuPins[8] = Generic.GetPin('B', 7); socket.CpuPins[9] = Generic.GetPin('B', 6); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'U', 'S', 'X' }; socket.CpuPins[3] = Generic.GetPin('B', 8); socket.CpuPins[4] = Generic.GetPin('B', 10); socket.CpuPins[5] = Generic.GetPin('B', 11); socket.CpuPins[6] = Generic.GetPin('A', 0); socket.CpuPins[7] = Generic.GetPin('B', 5); socket.CpuPins[8] = Generic.GetPin('B', 4); socket.CpuPins[9] = Generic.GetPin('B', 3); socket.SerialPortName = "COM3"; socket.SPIModule = SPI.SPI_module.SPI1; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'A', 'O', 'I', 'X' }; socket.CpuPins[3] = Generic.GetPin('C', 0); socket.CpuPins[4] = Generic.GetPin('C', 1); socket.CpuPins[5] = Generic.GetPin('A', 4); socket.CpuPins[6] = Generic.GetPin('A', 1); socket.CpuPins[8] = Generic.GetPin('B', 7); socket.CpuPins[9] = Generic.GetPin('B', 6); socket.AnalogOutput5 = Cpu.AnalogOutputChannel.ANALOG_OUTPUT_0; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.SetAnalogOutputFactors(socket, 3.3, 0, 12); socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_3; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_4; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_5; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'U', 'I' }; socket.CpuPins[3] = Generic.GetPin('C', 14); socket.CpuPins[4] = Generic.GetPin('A', 2); socket.CpuPins[5] = Generic.GetPin('A', 3); socket.CpuPins[6] = Generic.GetPin('C', 15); socket.CpuPins[8] = Generic.GetPin('B', 7); socket.CpuPins[9] = Generic.GetPin('B', 6); socket.SerialPortName = "COM2"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'P' }; socket.CpuPins[3] = Generic.GetPin('C', 13); socket.CpuPins[6] = Generic.GetPin('C', 3); socket.CpuPins[7] = Generic.GetPin('A', 9); socket.CpuPins[8] = Generic.GetPin('B', 9); socket.CpuPins[9] = Generic.GetPin('A', 8); socket.PWM7 = (Cpu.PWMChannel) 12; socket.PWM8 = (Cpu.PWMChannel) 15; socket.PWM9 = Cpu.PWMChannel.PWM_3; GT.Socket.SocketInterfaces.RegisterSocket(socket); }
/// <summary> /// Constructs a new instance. /// </summary> public FEZReaper() { this.configSet = false; this.debugLed = null; this.storageDevices = new IRemovable[2]; Controller.Start(); this.NativeBitmapConverter = this.NativeBitmapConvert; this.NativeBitmapCopyToSpi = this.NativeBitmapSpi; GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'D' }; socket.CpuPins[3] = G80.Gpio.PE1; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = G80.Gpio.PA13; socket.CpuPins[7] = G80.Gpio.PA14; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'H' }; socket.CpuPins[3] = G80.Gpio.PE10; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'I', 'K', 'U', 'X' }; socket.CpuPins[3] = G80.Gpio.PE7; socket.CpuPins[4] = G80.Gpio.PD8; socket.CpuPins[5] = G80.Gpio.PD9; socket.CpuPins[6] = G80.Gpio.PD12; socket.CpuPins[7] = G80.Gpio.PD11; socket.CpuPins[8] = G80.Gpio.PB7; socket.CpuPins[9] = G80.Gpio.PB6; socket.SerialPortName = G80.SerialPort.Com3; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'C', 'P', 'Y' }; socket.CpuPins[3] = G80.Gpio.PC13; socket.CpuPins[4] = G80.Gpio.PB13; socket.CpuPins[5] = G80.Gpio.PB12; socket.CpuPins[6] = G80.Gpio.PA15; socket.CpuPins[7] = G80.Gpio.PE11; socket.CpuPins[8] = G80.Gpio.PE13; socket.CpuPins[9] = G80.Gpio.PE14; socket.PWM7 = G80.PwmOutput.PE11; socket.PWM8 = G80.PwmOutput.PE13; socket.PWM9 = G80.PwmOutput.PE14; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'A', 'I', 'X' }; socket.CpuPins[3] = G80.Gpio.PA3; socket.CpuPins[4] = G80.Gpio.PA6; socket.CpuPins[5] = G80.Gpio.PA7; socket.CpuPins[6] = G80.Gpio.PE8; socket.CpuPins[8] = G80.Gpio.PB7; socket.CpuPins[9] = G80.Gpio.PB6; socket.AnalogInput3 = G80.AnalogInput.PA3; socket.AnalogInput4 = G80.AnalogInput.PA6; socket.AnalogInput5 = G80.AnalogInput.PA7; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, G80.SupportedAnalogInputPrecision); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'I', 'U', 'X' }; socket.CpuPins[3] = G80.Gpio.PA8; socket.CpuPins[4] = G80.Gpio.PA0; socket.CpuPins[5] = G80.Gpio.PA1; socket.CpuPins[6] = G80.Gpio.PE2; socket.CpuPins[8] = G80.Gpio.PB7; socket.CpuPins[9] = G80.Gpio.PB6; socket.SerialPortName = G80.SerialPort.Com4; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(7); socket.SupportedTypes = new char[] { 'P', 'U', 'Y' }; socket.CpuPins[3] = G80.Gpio.PE5; socket.CpuPins[4] = G80.Gpio.PA9; socket.CpuPins[5] = G80.Gpio.PA10; socket.CpuPins[6] = G80.Gpio.PE0; socket.CpuPins[7] = G80.Gpio.PB8; socket.CpuPins[8] = G80.Gpio.PB9; socket.CpuPins[9] = G80.Gpio.PB11; socket.PWM7 = G80.PwmOutput.PB8; socket.PWM8 = G80.PwmOutput.PB9; socket.PWM9 = G80.PwmOutput.PB11; socket.SerialPortName = G80.SerialPort.Com1; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(8); socket.SupportedTypes = new char[] { 'A', 'O', 'P', 'S', 'Y' }; socket.CpuPins[3] = G80.Gpio.PC0; socket.CpuPins[4] = G80.Gpio.PC1; socket.CpuPins[5] = G80.Gpio.PA4; socket.CpuPins[6] = G80.Gpio.PC6; socket.CpuPins[7] = G80.Gpio.PB5; socket.CpuPins[8] = G80.Gpio.PB4; socket.CpuPins[9] = G80.Gpio.PB3; socket.PWM7 = G80.PwmOutput.PB5; socket.PWM8 = G80.PwmOutput.PB4; socket.PWM9 = G80.PwmOutput.PB3; socket.AnalogInput3 = G80.AnalogInput.PC0; socket.AnalogInput4 = G80.AnalogInput.PC1; socket.AnalogInput5 = G80.AnalogInput.PA4; socket.AnalogOutput5 = G80.AnalogOutput.PA4; socket.SPIModule = G80.SpiBus.Spi1; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, G80.SupportedAnalogInputPrecision); GT.Socket.SocketInterfaces.SetAnalogOutputFactors(socket, 3.3, 0, G80.SupportedAnalogOutputPrecision); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(9); socket.SupportedTypes = new char[] { 'A', 'O', 'S', 'Y' }; socket.CpuPins[3] = G80.Gpio.PC4; socket.CpuPins[4] = G80.Gpio.PC5; socket.CpuPins[5] = G80.Gpio.PA5; socket.CpuPins[6] = G80.Gpio.PD7; socket.CpuPins[7] = G80.Gpio.PC3; socket.CpuPins[8] = G80.Gpio.PC2; socket.CpuPins[9] = G80.Gpio.PB10; socket.AnalogInput3 = G80.AnalogInput.PC4; socket.AnalogInput4 = G80.AnalogInput.PC5; socket.AnalogInput5 = G80.AnalogInput.PA5; socket.AnalogOutput5 = G80.AnalogOutput.PA5; socket.SPIModule = G80.SpiBus.Spi2; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, G80.SupportedAnalogInputPrecision); GT.Socket.SocketInterfaces.SetAnalogOutputFactors(socket, 3.3, 0, G80.SupportedAnalogOutputPrecision); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(10); socket.SupportedTypes = new char[] { 'I', 'K', 'U', 'X' }; socket.CpuPins[3] = G80.Gpio.PE6; socket.CpuPins[4] = G80.Gpio.PD5; socket.CpuPins[5] = G80.Gpio.PD6; socket.CpuPins[6] = G80.Gpio.PD4; socket.CpuPins[7] = G80.Gpio.PD3; socket.CpuPins[8] = G80.Gpio.PB7; socket.CpuPins[9] = G80.Gpio.PB6; socket.SerialPortName = G80.SerialPort.Com2; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(11); socket.SupportedTypes = new char[] { 'F', 'Y' }; socket.CpuPins[3] = G80.Gpio.PE9; socket.CpuPins[4] = G80.Gpio.PC8; socket.CpuPins[5] = G80.Gpio.PC9; socket.CpuPins[6] = G80.Gpio.PD2; socket.CpuPins[7] = G80.Gpio.PC10; socket.CpuPins[8] = G80.Gpio.PC11; socket.CpuPins[9] = G80.Gpio.PC12; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(12); socket.SupportedTypes = new char[] { 'C', 'P', 'Y' }; socket.CpuPins[3] = G80.Gpio.PE12; socket.CpuPins[4] = G80.Gpio.PD1; socket.CpuPins[5] = G80.Gpio.PD0; socket.CpuPins[6] = G80.Gpio.PC7; socket.CpuPins[7] = G80.Gpio.PD13; socket.CpuPins[8] = G80.Gpio.PD14; socket.CpuPins[9] = G80.Gpio.PD15; socket.PWM7 = G80.PwmOutput.PD13; socket.PWM8 = G80.PwmOutput.PD14; socket.PWM9 = G80.PwmOutput.PD15; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(13); socket.SupportedTypes = new char[] { 'A', 'X' }; socket.CpuPins[3] = G80.Gpio.PA2; socket.CpuPins[4] = G80.Gpio.PB0; socket.CpuPins[5] = G80.Gpio.PB1; socket.CpuPins[6] = G80.Gpio.PD10; socket.AnalogInput3 = G80.AnalogInput.PA2; socket.AnalogInput4 = G80.AnalogInput.PB0; socket.AnalogInput5 = G80.AnalogInput.PB1; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, G80.SupportedAnalogInputPrecision); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(14); socket.SupportedTypes = new char[] { 'Z' }; socket.CpuPins[3] = G80.Gpio.PE15; socket.CpuPins[4] = G80.Gpio.PA14; socket.CpuPins[5] = G80.Gpio.PC14; socket.CpuPins[6] = G80.Gpio.PC15; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = G80.Gpio.PA13; socket.CpuPins[9] = G80.Gpio.PB2; GT.Socket.SocketInterfaces.RegisterSocket(socket); }
/// <summary>Constructs a new instance.</summary> public FEZCerbuinoNet() { this.configSet = false; this.debugLed = null; this.ethernet = null; this.storageDevices = new IRemovable[2]; this.sdCardStorageDevice = null; RemovableMedia.Insert += this.OnInsert; RemovableMedia.Eject += this.OnEject; Controller.MouseConnected += (a, b) => { this.connectedMouse = b; this.OnMouseConnected(this, b); b.Disconnected += (c, d) => this.connectedMouse = null; }; Controller.KeyboardConnected += (a, b) => { this.connectedKeyboard = b; this.OnKeyboardConnected(this, b); b.Disconnected += (c, d) => this.connectedKeyboard = null; }; Controller.MassStorageConnected += (a, b) => { this.IsMassStorageConnected = true; this.MountStorageDevice("USB"); b.Disconnected += (c, d) => { this.IsMassStorageConnected = false; if (this.IsMassStorageMounted) { this.UnmountStorageDevice("USB"); } }; }; this.IsSDCardMounted = false; this.IsMassStorageConnected = false; this.IsMassStorageMounted = false; this.sdCardDetect = new InterruptPort(FEZCerbuinoNetPins.SdCardDetect, true, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeBoth); this.sdCardDetect.OnInterrupt += this.OnSDCardDetect; if (this.IsSDCardInserted) { this.MountStorageDevice("SD"); } Controller.Start(); this.NativeBitmapConverter = this.NativeBitmapConvert; this.NativeBitmapCopyToSpi = this.NativeBitmapSpi; #region Sockets GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'P', 'S', 'U', 'X' }; socket.CpuPins[3] = FEZCerbuinoNetPins.Socket1.Pin3; socket.CpuPins[4] = FEZCerbuinoNetPins.Socket1.Pin4; socket.CpuPins[5] = FEZCerbuinoNetPins.Socket1.Pin5; socket.CpuPins[6] = FEZCerbuinoNetPins.Socket1.Pin6; socket.CpuPins[7] = FEZCerbuinoNetPins.Socket1.Pin7; socket.CpuPins[8] = FEZCerbuinoNetPins.Socket1.Pin8; socket.CpuPins[9] = FEZCerbuinoNetPins.Socket1.Pin9; socket.SerialPortName = "COM1"; socket.PWM7 = Cpu.PWMChannel.PWM_6; socket.PWM8 = Cpu.PWMChannel.PWM_7; socket.PWM9 = (Cpu.PWMChannel) 8; socket.SPIModule = SPI.SPI_module.SPI1; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'A', 'I', 'K', 'U', 'Y' }; socket.CpuPins[3] = FEZCerbuinoNetPins.Socket2.Pin3; socket.CpuPins[4] = FEZCerbuinoNetPins.Socket2.Pin4; socket.CpuPins[5] = FEZCerbuinoNetPins.Socket2.Pin5; socket.CpuPins[6] = FEZCerbuinoNetPins.Socket2.Pin6; socket.CpuPins[7] = FEZCerbuinoNetPins.Socket2.Pin7; socket.CpuPins[8] = FEZCerbuinoNetPins.Socket2.Pin8; socket.CpuPins[9] = FEZCerbuinoNetPins.Socket2.Pin9; socket.I2CBusIndirector = nativeI2C; socket.SerialPortName = "COM2"; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_0; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_1; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_2; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'A', 'O', 'P', 'Y' }; socket.CpuPins[3] = FEZCerbuinoNetPins.Socket3.Pin3; socket.CpuPins[4] = FEZCerbuinoNetPins.Socket3.Pin4; socket.CpuPins[5] = FEZCerbuinoNetPins.Socket3.Pin5; socket.CpuPins[6] = FEZCerbuinoNetPins.Socket3.Pin6; socket.CpuPins[7] = FEZCerbuinoNetPins.Socket3.Pin7; socket.CpuPins[8] = FEZCerbuinoNetPins.Socket3.Pin8; socket.CpuPins[9] = FEZCerbuinoNetPins.Socket3.Pin9; socket.I2CBusIndirector = nativeI2C; socket.PWM7 = (Cpu.PWMChannel) 14; socket.PWM8 = Cpu.PWMChannel.PWM_1; socket.PWM9 = (Cpu.PWMChannel) 15; socket.AnalogOutput5 = Cpu.AnalogOutputChannel.ANALOG_OUTPUT_0; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_3; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_4; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_5; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.SetAnalogOutputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.RegisterSocket(socket); #endregion Sockets }
/// <summary>Constructs a new instance.</summary> public FEZHydra() { this.debugLed = null; this.sdCard = null; this.NativeBitmapConverter = this.BitmapConverter; GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'Z' }; socket.CpuPins[3] = GT.Socket.UnnumberedPin; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = GT.Socket.UnnumberedPin; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'D' }; socket.CpuPins[3] = FEZHydraPins.Socket2.Pin3; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = FEZHydraPins.Socket2.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket2.Pin7; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'S', 'X' }; socket.CpuPins[3] = FEZHydraPins.Socket3.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket3.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket3.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket3.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket3.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket3.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket3.Pin9; socket.I2CBusIndirector = nativeI2C; socket.SPIModule = SPI.SPI_module.SPI1; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'S', 'U', 'X' }; socket.CpuPins[3] = FEZHydraPins.Socket4.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket4.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket4.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket4.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket4.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket4.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket4.Pin9; socket.SerialPortName = "COM3"; socket.I2CBusIndirector = nativeI2C; socket.SPIModule = SPI.SPI_module.SPI1; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'I', 'U', 'X' }; socket.CpuPins[3] = FEZHydraPins.Socket5.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket5.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket5.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket5.Pin6; socket.CpuPins[8] = FEZHydraPins.Socket5.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket5.Pin9; socket.SerialPortName = "COM1"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'I', 'U', 'X' }; socket.CpuPins[3] = FEZHydraPins.Socket6.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket6.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket6.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket6.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket6.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket6.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket6.Pin9; socket.SerialPortName = "COM4"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(7); socket.SupportedTypes = new char[] { 'P', 'U', 'Y' }; socket.CpuPins[3] = FEZHydraPins.Socket7.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket7.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket7.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket7.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket7.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket7.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket7.Pin9; socket.I2CBusIndirector = nativeI2C; socket.SerialPortName = "COM2"; socket.PWM7 = Cpu.PWMChannel.PWM_0; socket.PWM8 = Cpu.PWMChannel.PWM_1; socket.PWM9 = Cpu.PWMChannel.PWM_2; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(8); socket.SupportedTypes = new char[] { 'F', 'Y' }; socket.CpuPins[3] = FEZHydraPins.Socket8.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket8.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket8.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket8.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket8.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket8.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket8.Pin9; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(9); socket.SupportedTypes = new char[] { 'Y' }; socket.CpuPins[3] = FEZHydraPins.Socket9.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket9.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket9.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket9.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket9.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket9.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket9.Pin9; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(10); socket.SupportedTypes = new char[] { 'R', 'Y' }; socket.CpuPins[3] = FEZHydraPins.Socket10.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket10.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket10.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket10.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket10.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket10.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket10.Pin9; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(11); socket.SupportedTypes = new char[] { 'G', 'Y' }; socket.CpuPins[3] = FEZHydraPins.Socket11.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket11.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket11.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket11.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket11.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket11.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket11.Pin9; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(12); socket.SupportedTypes = new char[] { 'B', 'Y' }; socket.CpuPins[3] = FEZHydraPins.Socket12.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket12.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket12.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket12.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket12.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket12.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket12.Pin9; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(13); socket.SupportedTypes = new char[] { 'A', 'T', 'Y' }; socket.CpuPins[3] = FEZHydraPins.Socket13.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket13.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket13.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket13.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket13.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket13.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket13.Pin9; socket.I2CBusIndirector = nativeI2C; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_4; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_3; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_1; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(14); socket.SupportedTypes = new char[] { 'A', 'X' }; socket.CpuPins[3] = FEZHydraPins.Socket14.Pin3; socket.CpuPins[4] = FEZHydraPins.Socket14.Pin4; socket.CpuPins[5] = FEZHydraPins.Socket14.Pin5; socket.CpuPins[6] = FEZHydraPins.Socket14.Pin6; socket.CpuPins[7] = FEZHydraPins.Socket14.Pin7; socket.CpuPins[8] = FEZHydraPins.Socket14.Pin8; socket.CpuPins[9] = FEZHydraPins.Socket14.Pin9; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_5; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_2; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_0; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); }
/// <summary>Constructs a new instance.</summary> public FEZRaptor() { this.debugLed = null; this.ldr0 = null; this.ldr1 = null; this.storageDevices = new IRemovable[2]; Controller.Start(); this.NativeBitmapConverter = this.BitmapConverter; GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'S', 'U', 'Y' }; socket.CpuPins[3] = G400.Gpio.PB0; socket.CpuPins[4] = G400.Gpio.PA7; socket.CpuPins[5] = G400.Gpio.PA8; socket.CpuPins[6] = G400.Gpio.PB5; socket.CpuPins[7] = G400.Gpio.PA22; socket.CpuPins[8] = G400.Gpio.PA21; socket.CpuPins[9] = G400.Gpio.PA23; socket.SPIModule = SPI.SPI_module.SPI2; socket.SerialPortName = "COM4"; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'A', 'I', 'X' }; socket.CpuPins[3] = G400.Gpio.PB14; socket.CpuPins[4] = G400.Gpio.PB15; socket.CpuPins[5] = G400.Gpio.PB16; socket.CpuPins[6] = G400.Gpio.PB18; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_3; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_4; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_5; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'S', 'X' }; socket.CpuPins[3] = G400.Gpio.PB1; socket.CpuPins[4] = G400.Gpio.PC23; socket.CpuPins[5] = G400.Gpio.PB3; socket.CpuPins[6] = G400.Gpio.PA28; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; socket.SPIModule = SPI.SPI_module.SPI1; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'I', 'K', 'U', 'X' }; socket.CpuPins[3] = G400.Gpio.PA27; socket.CpuPins[4] = G400.Gpio.PA0; socket.CpuPins[5] = G400.Gpio.PA1; socket.CpuPins[6] = G400.Gpio.PA2; socket.CpuPins[7] = G400.Gpio.PA3; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; socket.SerialPortName = "COM2"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'Z' }; socket.CpuPins[3] = GT.Socket.UnnumberedPin; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = GT.Socket.UnnumberedPin; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'H', 'I' }; socket.CpuPins[3] = G400.Gpio.PD4; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = G400.Gpio.PA24; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(7); socket.SupportedTypes = new char[] { 'H', 'I' }; socket.CpuPins[3] = G400.Gpio.PA25; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = G400.Gpio.PA4; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(8); socket.SupportedTypes = new char[] { 'D', 'I' }; socket.CpuPins[3] = G400.Gpio.PD6; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = G400.Gpio.PD0; socket.CpuPins[7] = G400.Gpio.PD5; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(9); socket.SupportedTypes = new char[] { 'F', 'Y' }; socket.CpuPins[3] = G400.Gpio.PD7; socket.CpuPins[4] = G400.Gpio.PA15; socket.CpuPins[5] = G400.Gpio.PA18; socket.CpuPins[6] = G400.Gpio.PA16; socket.CpuPins[7] = G400.Gpio.PA19; socket.CpuPins[8] = G400.Gpio.PA20; socket.CpuPins[9] = G400.Gpio.PA17; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(10); socket.SupportedTypes = new char[] { 'C', 'I', 'U', 'X' }; socket.CpuPins[3] = G400.Gpio.PA29; socket.CpuPins[4] = G400.Gpio.PA10; socket.CpuPins[5] = G400.Gpio.PA9; socket.CpuPins[6] = G400.Gpio.PA26; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; socket.SerialPortName = "COM1"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(11); socket.SupportedTypes = new char[] { 'C', 'S', 'U', 'X' }; socket.CpuPins[3] = G400.Gpio.PC26; socket.CpuPins[4] = G400.Gpio.PA5; socket.CpuPins[5] = G400.Gpio.PA6; socket.CpuPins[6] = G400.Gpio.PB4; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; socket.SPIModule = SPI.SPI_module.SPI1; socket.SerialPortName = "COM3"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(12); socket.SupportedTypes = new char[] { 'I', 'U', 'X' }; socket.CpuPins[3] = G400.Gpio.PC31; socket.CpuPins[4] = G400.Gpio.PC16; socket.CpuPins[5] = G400.Gpio.PC17; socket.CpuPins[6] = G400.Gpio.PB2; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; socket.SerialPortName = "COM6"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(13); socket.SupportedTypes = new char[] { 'A', 'I', 'X' }; socket.CpuPins[3] = G400.Gpio.PB17; socket.CpuPins[4] = G400.Gpio.PB6; socket.CpuPins[5] = G400.Gpio.PB7; socket.CpuPins[6] = G400.Gpio.PC22; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_6; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_7; socket.AnalogInput5 = (Cpu.AnalogChannel) 8; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(14); socket.SupportedTypes = new char[] { 'A', 'I', 'T', 'X' }; socket.CpuPins[3] = G400.Gpio.PB11; socket.CpuPins[4] = G400.Gpio.PB12; socket.CpuPins[5] = G400.Gpio.PB13; socket.CpuPins[6] = G400.Gpio.PD1; socket.CpuPins[7] = G400.Gpio.PD2; socket.CpuPins[8] = G400.Gpio.PA30; socket.CpuPins[9] = G400.Gpio.PA31; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_0; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_1; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_2; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(15); socket.SupportedTypes = new char[] { 'R', 'Y' }; socket.CpuPins[3] = G400.Gpio.PC11; socket.CpuPins[4] = G400.Gpio.PC12; socket.CpuPins[5] = G400.Gpio.PC13; socket.CpuPins[6] = G400.Gpio.PC14; socket.CpuPins[7] = G400.Gpio.PC15; socket.CpuPins[8] = G400.Gpio.PC27; socket.CpuPins[9] = G400.Gpio.PC28; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(16); socket.SupportedTypes = new char[] { 'G', 'Y' }; socket.CpuPins[3] = G400.Gpio.PC5; socket.CpuPins[4] = G400.Gpio.PC6; socket.CpuPins[5] = G400.Gpio.PC7; socket.CpuPins[6] = G400.Gpio.PC8; socket.CpuPins[7] = G400.Gpio.PC9; socket.CpuPins[8] = G400.Gpio.PC10; socket.CpuPins[9] = G400.Gpio.PC21; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(17); socket.SupportedTypes = new char[] { 'B', 'Y' }; socket.CpuPins[3] = G400.Gpio.PC0; socket.CpuPins[4] = G400.Gpio.PC1; socket.CpuPins[5] = G400.Gpio.PC2; socket.CpuPins[6] = G400.Gpio.PC3; socket.CpuPins[7] = G400.Gpio.PC4; socket.CpuPins[8] = G400.Gpio.PC29; socket.CpuPins[9] = G400.Gpio.PC30; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(18); socket.SupportedTypes = new char[] { 'A', 'P', 'Y' }; socket.CpuPins[3] = G400.Gpio.PB8; socket.CpuPins[4] = G400.Gpio.PB9; socket.CpuPins[5] = G400.Gpio.PB10; socket.CpuPins[6] = G400.Gpio.PC24; socket.CpuPins[7] = G400.Gpio.PC18; socket.CpuPins[8] = G400.Gpio.PC19; socket.CpuPins[9] = G400.Gpio.PC20; socket.I2CBusIndirector = nativeI2C; socket.PWM7 = Cpu.PWMChannel.PWM_0; socket.PWM8 = Cpu.PWMChannel.PWM_1; socket.PWM9 = Cpu.PWMChannel.PWM_2; socket.AnalogInput3 = (Cpu.AnalogChannel) 9; socket.AnalogInput4 = (Cpu.AnalogChannel) 10; socket.AnalogInput5 = (Cpu.AnalogChannel) 11; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); }
/// <summary>Constructs a new instance.</summary> public FEZCerberus() { this.configSet = false; this.debugLed = null; this.storageDevices = new IRemovable[2]; Controller.Start(); this.NativeBitmapConverter = this.NativeBitmapConvert; this.NativeBitmapCopyToSpi = this.NativeBitmapSpi; GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'H', 'I' }; socket.CpuPins[3] = FEZCerberusPins.Socket1.Pin3; socket.CpuPins[4] = FEZCerberusPins.Socket1.Pin4; socket.CpuPins[5] = FEZCerberusPins.Socket1.Pin5; socket.CpuPins[6] = FEZCerberusPins.Socket1.Pin6; socket.CpuPins[8] = FEZCerberusPins.Socket1.Pin8; socket.CpuPins[9] = FEZCerberusPins.Socket1.Pin9; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'A', 'I', 'K', 'U', 'Y' }; socket.CpuPins[3] = FEZCerberusPins.Socket2.Pin3; socket.CpuPins[4] = FEZCerberusPins.Socket2.Pin4; socket.CpuPins[5] = FEZCerberusPins.Socket2.Pin5; socket.CpuPins[6] = FEZCerberusPins.Socket2.Pin6; socket.CpuPins[7] = FEZCerberusPins.Socket2.Pin7; socket.CpuPins[8] = FEZCerberusPins.Socket2.Pin8; socket.CpuPins[9] = FEZCerberusPins.Socket2.Pin9; socket.I2CBusIndirector = nativeI2C; socket.SerialPortName = "COM2"; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_0; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_1; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_2; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'A', 'O', 'P', 'Y' }; socket.CpuPins[3] = FEZCerberusPins.Socket3.Pin3; socket.CpuPins[4] = FEZCerberusPins.Socket3.Pin4; socket.CpuPins[5] = FEZCerberusPins.Socket3.Pin5; socket.CpuPins[6] = FEZCerberusPins.Socket3.Pin6; socket.CpuPins[7] = FEZCerberusPins.Socket3.Pin7; socket.CpuPins[8] = FEZCerberusPins.Socket3.Pin8; socket.CpuPins[9] = FEZCerberusPins.Socket3.Pin9; socket.I2CBusIndirector = nativeI2C; socket.PWM7 = Cpu.PWMChannel.PWM_0; socket.PWM8 = Cpu.PWMChannel.PWM_1; socket.PWM9 = Cpu.PWMChannel.PWM_2; socket.AnalogOutput5 = Cpu.AnalogOutputChannel.ANALOG_OUTPUT_0; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_3; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_4; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_5; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.SetAnalogOutputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'A', 'O', 'P', 'Y' }; socket.CpuPins[3] = FEZCerberusPins.Socket4.Pin3; socket.CpuPins[4] = FEZCerberusPins.Socket4.Pin4; socket.CpuPins[5] = FEZCerberusPins.Socket4.Pin5; socket.CpuPins[6] = FEZCerberusPins.Socket4.Pin6; socket.CpuPins[7] = FEZCerberusPins.Socket4.Pin7; socket.CpuPins[8] = FEZCerberusPins.Socket4.Pin8; socket.CpuPins[9] = FEZCerberusPins.Socket4.Pin9; socket.I2CBusIndirector = nativeI2C; socket.PWM7 = Cpu.PWMChannel.PWM_3; socket.PWM8 = Cpu.PWMChannel.PWM_4; socket.PWM9 = Cpu.PWMChannel.PWM_5; socket.AnalogOutput5 = Cpu.AnalogOutputChannel.ANALOG_OUTPUT_1; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_6; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_7; socket.AnalogInput5 = (Cpu.AnalogChannel) 8; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.SetAnalogOutputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'P', 'C', 'S', 'X' }; socket.CpuPins[3] = FEZCerberusPins.Socket5.Pin3; socket.CpuPins[4] = FEZCerberusPins.Socket5.Pin4; socket.CpuPins[5] = FEZCerberusPins.Socket5.Pin5; socket.CpuPins[6] = FEZCerberusPins.Socket5.Pin6; socket.CpuPins[7] = FEZCerberusPins.Socket5.Pin7; socket.CpuPins[8] = FEZCerberusPins.Socket5.Pin8; socket.CpuPins[9] = FEZCerberusPins.Socket5.Pin9; socket.SPIModule = SPI.SPI_module.SPI1; socket.PWM7 = Cpu.PWMChannel.PWM_6; socket.PWM8 = Cpu.PWMChannel.PWM_7; socket.PWM9 = (Cpu.PWMChannel) 8; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'P', 'S', 'U', 'X' }; socket.CpuPins[3] = FEZCerberusPins.Socket6.Pin3; socket.CpuPins[4] = FEZCerberusPins.Socket6.Pin4; socket.CpuPins[5] = FEZCerberusPins.Socket6.Pin5; socket.CpuPins[6] = FEZCerberusPins.Socket6.Pin6; socket.CpuPins[7] = FEZCerberusPins.Socket6.Pin7; socket.CpuPins[8] = FEZCerberusPins.Socket6.Pin8; socket.CpuPins[9] = FEZCerberusPins.Socket6.Pin9; socket.SerialPortName = "COM3"; socket.SPIModule = SPI.SPI_module.SPI1; socket.PWM7 = Cpu.PWMChannel.PWM_6; socket.PWM8 = Cpu.PWMChannel.PWM_7; socket.PWM9 = (Cpu.PWMChannel) 8; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(7); socket.SupportedTypes = new char[] { 'F', 'Y' }; socket.CpuPins[3] = FEZCerberusPins.Socket7.Pin3; socket.CpuPins[4] = FEZCerberusPins.Socket7.Pin4; socket.CpuPins[5] = FEZCerberusPins.Socket7.Pin5; socket.CpuPins[6] = FEZCerberusPins.Socket7.Pin6; socket.CpuPins[7] = FEZCerberusPins.Socket7.Pin7; socket.CpuPins[8] = FEZCerberusPins.Socket7.Pin8; socket.CpuPins[9] = FEZCerberusPins.Socket7.Pin9; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(8); socket.SupportedTypes = new char[] { 'D', 'Z' }; socket.CpuPins[3] = FEZCerberusPins.Socket8.Pin3; socket.CpuPins[4] = FEZCerberusPins.Socket8.Pin4; socket.CpuPins[5] = FEZCerberusPins.Socket8.Pin5; socket.CpuPins[6] = FEZCerberusPins.Socket8.Pin6; socket.CpuPins[7] = FEZCerberusPins.Socket8.Pin7; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; GT.Socket.SocketInterfaces.RegisterSocket(socket); }
/// <summary>Constructs a new instance.</summary> public FEZSpiderII() { if ((DeviceType)SystemInfo.SystemID.Model != DeviceType.G120E) { throw new InvalidOperationException("You have selected the wrong mainboard in the designer. Please double check your mainboard."); } this.debugLed = null; this.storageDevices = new IRemovable[2]; Controller.Start(); this.NativeBitmapConverter = this.BitmapConverter; GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'D', 'I' }; socket.CpuPins[3] = G120E.Gpio.P2_26; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = G120E.Gpio.P2_22; socket.CpuPins[7] = G120E.Gpio.P4_31; socket.CpuPins[8] = G120E.Gpio.P0_27; socket.CpuPins[9] = G120E.Gpio.P0_28; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'Z' }; socket.CpuPins[3] = GT.Socket.UnnumberedPin; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = GT.Socket.UnnumberedPin; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'H', 'I' }; socket.CpuPins[3] = G120E.Gpio.P0_5; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = G120E.Gpio.P0_4; socket.CpuPins[8] = G120E.Gpio.P0_27; socket.CpuPins[9] = G120E.Gpio.P0_28; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'I', 'K', 'U', 'X' }; socket.CpuPins[3] = G120E.Gpio.P2_31; socket.CpuPins[4] = G120E.Gpio.P2_0; socket.CpuPins[5] = G120E.Gpio.P0_16; socket.CpuPins[6] = G120E.Gpio.P0_6; socket.CpuPins[7] = G120E.Gpio.P3_18; socket.CpuPins[8] = G120E.Gpio.P0_27; socket.CpuPins[9] = G120E.Gpio.P0_28; socket.SerialPortName = "COM2"; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'F', 'Y' }; socket.CpuPins[3] = G120E.Gpio.P2_27; socket.CpuPins[4] = G120E.Gpio.P1_6; socket.CpuPins[5] = G120E.Gpio.P1_7; socket.CpuPins[6] = G120E.Gpio.P1_3; socket.CpuPins[7] = G120E.Gpio.P1_11; socket.CpuPins[8] = G120E.Gpio.P1_12; socket.CpuPins[9] = G120E.Gpio.P1_2; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'C', 'S', 'X' }; socket.CpuPins[3] = G120E.Gpio.P2_25; socket.CpuPins[4] = G120E.Gpio.P0_1; socket.CpuPins[5] = G120E.Gpio.P0_0; socket.CpuPins[6] = G120E.Gpio.P4_28; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; socket.SPIModule = SPI.SPI_module.SPI2; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(7); socket.SupportedTypes = new char[] { 'E' }; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = GT.Socket.UnnumberedPin; socket.CpuPins[7] = GT.Socket.UnnumberedPin; socket.CpuPins[8] = GT.Socket.UnnumberedPin; socket.CpuPins[9] = GT.Socket.UnnumberedPin; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(8); socket.SupportedTypes = new char[] { 'P', 'U', 'Y' }; socket.CpuPins[3] = G120E.Gpio.P2_10; socket.CpuPins[4] = G120E.Gpio.P0_10; socket.CpuPins[5] = G120E.Gpio.P0_11; socket.CpuPins[6] = G120E.Gpio.P1_19; socket.CpuPins[7] = G120E.Gpio.P3_29; socket.CpuPins[8] = G120E.Gpio.P3_27; socket.CpuPins[9] = G120E.Gpio.P3_26; socket.SerialPortName = "COM3"; socket.I2CBusIndirector = nativeI2C; socket.PWM7 = (Cpu.PWMChannel) 11; socket.PWM8 = (Cpu.PWMChannel) 9; socket.PWM9 = (Cpu.PWMChannel) 8; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(9); socket.SupportedTypes = new char[] { 'A', 'O', 'S', 'U', 'Y' }; socket.CpuPins[3] = G120E.Gpio.P0_13; socket.CpuPins[4] = G120E.Gpio.P0_25; socket.CpuPins[5] = G120E.Gpio.P0_26; socket.CpuPins[6] = G120E.Gpio.P3_25; socket.CpuPins[7] = G120E.Gpio.P0_18; socket.CpuPins[8] = G120E.Gpio.P0_17; socket.CpuPins[9] = G120E.Gpio.P0_15; socket.SerialPortName = "COM4"; socket.I2CBusIndirector = nativeI2C; socket.SPIModule = SPI.SPI_module.SPI1; socket.AnalogOutput5 = Cpu.AnalogOutputChannel.ANALOG_OUTPUT_0; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_7; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_2; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_3; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.SetAnalogOutputFactors(socket, 3.3, 0, 10); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(10); socket.SupportedTypes = new char[] { 'A', 'I', 'T', 'X' }; socket.CpuPins[3] = G120E.Gpio.P0_12; socket.CpuPins[4] = G120E.Gpio.P0_24; socket.CpuPins[5] = G120E.Gpio.P0_23; socket.CpuPins[6] = G120E.Gpio.P3_31; socket.CpuPins[7] = G120E.Gpio.P2_23; socket.CpuPins[8] = G120E.Gpio.P0_27; socket.CpuPins[9] = G120E.Gpio.P0_28; socket.AnalogInput3 = Cpu.AnalogChannel.ANALOG_6; socket.AnalogInput4 = Cpu.AnalogChannel.ANALOG_1; socket.AnalogInput5 = Cpu.AnalogChannel.ANALOG_0; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, 12); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(11); socket.SupportedTypes = new char[] { 'P', 'U', 'Y' }; socket.CpuPins[3] = G120E.Gpio.P2_30; socket.CpuPins[4] = G120E.Gpio.P0_2; socket.CpuPins[5] = G120E.Gpio.P0_3; socket.CpuPins[6] = G120E.Gpio.P4_29; socket.CpuPins[7] = G120E.Gpio.P3_24; socket.CpuPins[8] = G120E.Gpio.P3_16; socket.CpuPins[9] = G120E.Gpio.P3_17; socket.SerialPortName = "COM1"; socket.I2CBusIndirector = nativeI2C; socket.PWM7 = Cpu.PWMChannel.PWM_6; socket.PWM8 = Cpu.PWMChannel.PWM_0; socket.PWM9 = Cpu.PWMChannel.PWM_1; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(12); socket.SupportedTypes = new char[] { 'B', 'Y' }; socket.CpuPins[3] = G120E.Gpio.P2_13; socket.CpuPins[4] = G120E.Gpio.P1_26; socket.CpuPins[5] = G120E.Gpio.P1_27; socket.CpuPins[6] = G120E.Gpio.P1_28; socket.CpuPins[7] = G120E.Gpio.P1_29; socket.CpuPins[8] = G120E.Gpio.P2_4; socket.CpuPins[9] = G120E.Gpio.P2_2; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(13); socket.SupportedTypes = new char[] { 'G' }; socket.CpuPins[3] = G120E.Gpio.P1_20; socket.CpuPins[4] = G120E.Gpio.P1_21; socket.CpuPins[5] = G120E.Gpio.P1_22; socket.CpuPins[6] = G120E.Gpio.P1_23; socket.CpuPins[7] = G120E.Gpio.P1_24; socket.CpuPins[8] = G120E.Gpio.P1_25; socket.CpuPins[9] = G120E.Gpio.P2_21; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(14); socket.SupportedTypes = new char[] { 'R', 'Y' }; socket.CpuPins[3] = G120E.Gpio.P2_12; socket.CpuPins[4] = G120E.Gpio.P2_6; socket.CpuPins[5] = G120E.Gpio.P2_7; socket.CpuPins[6] = G120E.Gpio.P2_8; socket.CpuPins[7] = G120E.Gpio.P2_9; socket.CpuPins[8] = G120E.Gpio.P2_3; socket.CpuPins[9] = G120E.Gpio.P2_5; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); }
/// <summary> /// Constructs a new instance. /// </summary> public FEZMedusaII() { this.debugLed = null; this.storageDevices = new IRemovable[1]; GT.SocketInterfaces.I2CBusIndirector nativeI2C = (s, sdaPin, sclPin, address, clockRateKHz, module) => new InteropI2CBus(s, sdaPin, sclPin, address, clockRateKHz, module); GT.Socket socket; socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(1); socket.SupportedTypes = new char[] { 'D', 'I' }; socket.CpuPins[3] = G30.Gpio.PB14; socket.CpuPins[4] = GT.Socket.UnnumberedPin; socket.CpuPins[5] = GT.Socket.UnnumberedPin; socket.CpuPins[6] = G30.Gpio.PB13; socket.CpuPins[7] = G30.Gpio.PB15; socket.CpuPins[8] = G30.Gpio.PB7; socket.CpuPins[9] = G30.Gpio.PB6; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(2); socket.SupportedTypes = new char[] { 'F', 'Y' }; socket.CpuPins[3] = G30.Gpio.PC0; socket.CpuPins[4] = G30.Gpio.PC8; socket.CpuPins[5] = G30.Gpio.PC9; socket.CpuPins[6] = G30.Gpio.PD2; socket.CpuPins[7] = G30.Gpio.PC10; socket.CpuPins[8] = G30.Gpio.PC11; socket.CpuPins[9] = G30.Gpio.PC12; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(3); socket.SupportedTypes = new char[] { 'I', 'U', 'X' }; socket.CpuPins[3] = G30.Gpio.PC1; socket.CpuPins[4] = G30.Gpio.PA9; socket.CpuPins[5] = G30.Gpio.PA10; socket.CpuPins[6] = G30.Gpio.PC2; socket.CpuPins[7] = G30.Gpio.PB10; socket.CpuPins[8] = G30.Gpio.PB7; socket.CpuPins[9] = G30.Gpio.PB6; socket.SerialPortName = G30.SerialPort.Com1; GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(4); socket.SupportedTypes = new char[] { 'A', 'S', 'Y' }; socket.CpuPins[3] = G30.Gpio.PA7; socket.CpuPins[4] = G30.Gpio.PB0; socket.CpuPins[5] = G30.Gpio.PB1; socket.CpuPins[6] = G30.Gpio.PB12; socket.CpuPins[7] = G30.Gpio.PB5; socket.CpuPins[8] = G30.Gpio.PB4; socket.CpuPins[9] = G30.Gpio.PB3; socket.AnalogInput3 = G30.AnalogInput.PA7; socket.AnalogInput4 = G30.AnalogInput.PB0; socket.AnalogInput5 = G30.AnalogInput.PB1; socket.SPIModule = G30.SpiBus.Spi1; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, G30.SupportedAnalogInputPrecision); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(5); socket.SupportedTypes = new char[] { 'A', 'P', 'Y' }; socket.CpuPins[3] = G30.Gpio.PA4; socket.CpuPins[4] = G30.Gpio.PA5; socket.CpuPins[5] = G30.Gpio.PA6; socket.CpuPins[6] = G30.Gpio.PB2; socket.CpuPins[7] = G30.Gpio.PA8; socket.CpuPins[8] = G30.Gpio.PB8; socket.CpuPins[9] = G30.Gpio.PB9; socket.AnalogInput3 = G30.AnalogInput.PA4; socket.AnalogInput4 = G30.AnalogInput.PA5; socket.AnalogInput5 = G30.AnalogInput.PA6; socket.PWM7 = G30.PwmOutput.PA8; socket.PWM8 = G30.PwmOutput.PB8; socket.PWM9 = G30.PwmOutput.PB9; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, G30.SupportedAnalogInputPrecision); GT.Socket.SocketInterfaces.RegisterSocket(socket); socket = GT.Socket.SocketInterfaces.CreateNumberedSocket(6); socket.SupportedTypes = new char[] { 'A', 'K', 'P', 'U', 'Y' }; socket.CpuPins[3] = G30.Gpio.PC3; socket.CpuPins[4] = G30.Gpio.PA2; socket.CpuPins[5] = G30.Gpio.PA3; socket.CpuPins[6] = G30.Gpio.PA1; socket.CpuPins[7] = G30.Gpio.PA0; socket.CpuPins[8] = G30.Gpio.PC6; socket.CpuPins[9] = G30.Gpio.PC7; socket.AnalogInput3 = G30.AnalogInput.PC3; socket.AnalogInput4 = G30.AnalogInput.PA2; socket.AnalogInput5 = G30.AnalogInput.PA3; socket.PWM7 = G30.PwmOutput.PA0; socket.PWM8 = G30.PwmOutput.PC6; socket.PWM9 = G30.PwmOutput.PC7; socket.SerialPortName = G30.SerialPort.Com2; socket.I2CBusIndirector = nativeI2C; GT.Socket.SocketInterfaces.SetAnalogInputFactors(socket, 3.3, 0, G30.SupportedAnalogInputPrecision); GT.Socket.SocketInterfaces.RegisterSocket(socket); }