Apologies if you have any trouble reading this. It's a lot to put into a single post.
The pin setup for the Netduino is as follows:
Netduino -> NRF
3V -> VCC
GND -> GND
13 -> SCK
12 -> MISO
11 -> MOSI
10 -> CSN
My Netduino Code is currently this:
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]class[/color][/font] [color=#2b91af;][font="consolas;"]Program[/color][/font]
[font="consolas;"]{[/font]
[color=#0000FF;][font="consolas;"]private[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"] SPIBus;[/font]
[color=#0000FF;][font="consolas;"]private[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"].[/font][color=#2b91af;][font="consolas;"]Configuration[/color][/font][font="consolas;"] Device1;[/font]
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] Main()[/font]
[font="consolas;"] {[/font]
[color=#2b91af;][font="consolas;"] Debug[/color][/font][font="consolas;"].Print([/font][color=#a31515;][font="consolas;"]"Program Started"[/color][/font][font="consolas;"]);[/font]
[font="consolas;"] setup();[/font]
[color=#0000FF;][font="consolas;"]while[/color][/font][font="consolas;"] ([/font][color=#0000FF;][font="consolas;"]true[/color][/font][font="consolas;"])[/font]
[font="consolas;"] {[/font]
[font="consolas;"] read();[/font]
[font="consolas;"] write();[/font]
[color=#2b91af;][font="consolas;"]Thread[/color][/font][font="consolas;"].Sleep(500);[/font]
[font="consolas;"] }[/font]
[font="consolas;"] }[/font]
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] setup()[/font]
[font="consolas;"] {[/font]
[color=#008000;][font="consolas;"]// Defines the first SPI slave device with pin 10 as SS[/color][/font]
[font="consolas;"] Device1 = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"].[/font][color=#2b91af;][font="consolas;"]Configuration[/color][/font][font="consolas;"]([/font]
[color=#2b91af;][font="consolas;"]Pins[/color][/font][font="consolas;"].GPIO_PIN_D10, [/font][color=#008000;][font="consolas;"]// SS-pin[/color][/font]
[color=#0000FF;][font="consolas;"]false[/color][/font][font="consolas;"], [/font][color=#008000;][font="consolas;"]// SS-pin active state[/color][/font]
[font="consolas;"] 0, [/font][color=#008000;][font="consolas;"]// The setup time for the SS port[/color][/font]
[font="consolas;"] 0, [/font][color=#008000;][font="consolas;"]// The hold time for the SS port[/color][/font]
[color=#0000FF;][font="consolas;"]true[/color][/font][font="consolas;"], [/font][color=#008000;][font="consolas;"]// The idle state of the clock[/color][/font]
[color=#0000FF;][font="consolas;"]false[/color][/font][font="consolas;"], [/font][color=#008000;][font="consolas;"]// The sampling clock edge[/color][/font]
[font="consolas;"] 1000, [/font][color=#008000;][font="consolas;"]// The SPI clock rate in KHz[/color][/font]
[color=#2b91af;][font="consolas;"]SPI_Devices[/color][/font][font="consolas;"].SPI1 [/font][color=#008000;][font="consolas;"]// The used SPI bus (refers to a MOSI MISO and SCLK pinset)[/color][/font]
[font="consolas;"] );[/font]
[color=#008000;][font="consolas;"]// Initializes the SPI bus[/color][/font]
[font="consolas;"] SPIBus = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"](Device1);[/font]
[font="consolas;"] }[/font]
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] read()[/font]
[font="consolas;"] {[/font]
[color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][] WriteBuffer = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][1];[/font]
[color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][] ReadBuffer = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][1];[/font]
[font="consolas;"] SPIBus.WriteRead(WriteBuffer, ReadBuffer);[/font]
[color=#2b91af;][font="consolas;"]Debug[/color][/font][font="consolas;"].Print(ReadBuffer[0].ToString());[/font]
[font="consolas;"] }[/font]
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] write()[/font]
[font="consolas;"] {[/font]
[color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][] WriteBuffer = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][1];[/font]
[font="consolas;"] WriteBuffer[0] = 255;[/font]
[font="consolas;"] SPIBus.Write(WriteBuffer); [/font]
[font="consolas;"] }[/font]
[font="consolas;"]}[/font]
The pin setup for the Spider is as follows:
Spider -> NRF
3V -> VCC
GND -> GND
P3 -> IRQ
P4 -> CE
P6 -> CSN
P7 -> MOSI
P8 -> MISO
P9 -> SCK
My Gadgeteer code is currently this:
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]partial[/color][/font] [color=#0000FF;][font="consolas;"]class[/color][/font] [color=#2b91af;][font="consolas;"]Program[/color][/font]
[font="consolas;"]{[/font]
[color=#0000FF;][font="consolas;"]private[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"] SPIBus;[/font]
[color=#0000FF;][font="consolas;"]private[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"].[/font][color=#2b91af;][font="consolas;"]Configuration[/color][/font][font="consolas;"] Device1;[/font]
[color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] ProgramStarted()[/font]
[font="consolas;"] {[/font]
[color=#2b91af;][font="consolas;"]Debug[/color][/font][font="consolas;"].Print([/font][color=#a31515;][font="consolas;"]"Program Started"[/color][/font][font="consolas;"]);[/font]
[font="consolas;"] GT.[/font][color=#2b91af;][font="consolas;"]Timer[/color][/font][font="consolas;"] timer = [/font][color=#0000FF;][font="consolas;"]new[/color][/font][font="consolas;"] GT.[/font][color=#2b91af;][font="consolas;"]Timer[/color][/font][font="consolas;"](500); [/font][color=#008000;][font="consolas;"]// every second (1/2 seocnds)[/color][/font]
[font="consolas;"] timer.Tick += [/font][color=#0000FF;][font="consolas;"]new[/color][/font][font="consolas;"] GT.[/font][color=#2b91af;][font="consolas;"]Timer[/color][/font][font="consolas;"].[/font][color=#2b91af;][font="consolas;"]TickEventHandler[/color][/font][font="consolas;"](Run);[/font]
[font="consolas;"] setup();[/font]
[font="consolas;"] timer.Start();[/font]
[font="consolas;"] }[/font]
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] Run(GT.[/font][color=#2b91af;][font="consolas;"]Timer[/color][/font][font="consolas;"] timer)[/font]
[font="consolas;"] {[/font]
[font="consolas;"] read();[/font]
[font="consolas;"] write();[/font]
[font="consolas;"] }[/font]
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] setup()[/font]
[font="consolas;"] {[/font]
[font="consolas;"] Device1 = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"].[/font][color=#2b91af;][font="consolas;"]Configuration[/color][/font][font="consolas;"] ( [/font]
[color=#2b91af;][font="consolas;"]Cpu[/color][/font][font="consolas;"].[/font][color=#2b91af;][font="consolas;"]Pin[/color][/font][font="consolas;"].GPIO_Pin6,[/font]
[color=#0000FF;][font="consolas;"]false[/color][/font][font="consolas;"],[/font]
[font="consolas;"] 0,[/font]
[font="consolas;"] 0,[/font]
[color=#0000FF;][font="consolas;"]true[/color][/font][font="consolas;"],[/font]
[color=#0000FF;][font="consolas;"]false[/color][/font][font="consolas;"],[/font]
[font="consolas;"] 1000,[/font]
[color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"].[/font][color=#2b91af;][font="consolas;"]SPI_module[/color][/font][font="consolas;"].SPI1[/font]
[font="consolas;"] );[/font]
[font="consolas;"] SPIBus = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#2b91af;][font="consolas;"]SPI[/color][/font][font="consolas;"](Device1);[/font]
[color=#008000;][font="consolas;"]// accessing device A[/color][/font]
[font="consolas;"] SPIBus.Config = Device1;[/font]
[font="consolas;"] }[/font]
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] read()[/font]
[font="consolas;"] {[/font]
[color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][] WriteBuffer = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][1];[/font]
[color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][] ReadBuffer = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][1];[/font]
[font="consolas;"] SPIBus.WriteRead(WriteBuffer, ReadBuffer);[/font]
[color=#2b91af;][font="consolas;"]Debug[/color][/font][font="consolas;"].Print(ReadBuffer[0].ToString());[/font]
[font="consolas;"] }[/font]
[color=#0000FF;][font="consolas;"]public[/color][/font] [color=#0000FF;][font="consolas;"]static[/color][/font] [color=#0000FF;][font="consolas;"]void[/color][/font][font="consolas;"] write()[/font]
[font="consolas;"] {[/font]
[color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][] WriteBuffer = [/font][color=#0000FF;][font="consolas;"]new[/color][/font] [color=#0000FF;][font="consolas;"]byte[/color][/font][font="consolas;"][1];[/font]
[font="consolas;"] WriteBuffer[0] = 222;[/font]
[font="consolas;"] SPIBus.Write(WriteBuffer);[/font]
[font="consolas;"] }[/font]
[font="consolas;"]}[/font]