Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
interfaces:slicepi [2014/12/31 14:26]
darron created
interfaces:slicepi [2020/08/02 03:25] (current)
darron [Pickle Microchip PIC ICSP]
Line 1: Line 1:
 ==== Slice of Pi/O ==== ==== Slice of Pi/O ====
 <wrap right> <wrap right>
-{{:boards:pio.jpg?200}}+{{:interfaces:rpipio.jpg?200}} 
 +\\ \\ 
 +{{:interfaces:slipi.jpg?200}}
 </wrap> </wrap>
  
 The Slice of Pi/O is an I2C expansion board for the Raspberry Pi. The Slice of Pi/O is an I2C expansion board for the Raspberry Pi.
  
-== Power ==+=== Power ===
 The Slice of Pi/O may be configured in 3V3 or 5V modes of operation The Slice of Pi/O may be configured in 3V3 or 5V modes of operation
-via a jumper and external power may be taken from the board on PWR and GND if+via a jumper
 + 
 +Power may be taken from the board on PWR and GND if
 a suitable 4-pin header is fitted. a suitable 4-pin header is fitted.
  
-== RPi I2C == +=== RPi I2C === 
-Enable I2C on the RPi as root.+ 
 +== Without device tree ==
 <code> <code>
 sed -i 's/^blacklist/#blacklist/g' /etc/modprobe.d/raspi-blacklist.conf sed -i 's/^blacklist/#blacklist/g' /etc/modprobe.d/raspi-blacklist.conf
-echo 'SUBSYSTEM=="i2c-dev", MODE="0666"' >> /etc/udev/rules.d/10-local.rules+</code> 
 + 
 +== With device tree == 
 +<code> 
 +echo "device_tree_param=i2c1=on" >> /boot/config.txt 
 +</code> 
 + 
 +== With and without device tree == 
 +<code> 
 +echo 'SUBSYSTEM=="i2c-dev", MODE:="0666"' >> /etc/udev/rules.d/10-local.rules
 echo "options i2c_bcm2708 baudrate=400000" >> /etc/modprobe.d/modprobe.conf echo "options i2c_bcm2708 baudrate=400000" >> /etc/modprobe.d/modprobe.conf
 echo 'i2c-dev' >> /etc/modules echo 'i2c-dev' >> /etc/modules
Line 21: Line 35:
 </code> </code>
  
-For the MCP23017 a baudrate of 900000 has been tested and appears to work +For the MCP23017 a baudrate of 900000 has been tested and appears to work satisfactorily. You should experiment with this value.
-satisfactorily. You should experiment with this value.+
  
-== I/O == +=== I/O === 
-^RPi version ^I2C device ^Default MCP Address|+^RPi revision ^I2C device ^Default MCP Address|
 | 1 |/dev/i2c-0 |0x20| | 1 |/dev/i2c-0 |0x20|
 | 2 |/dev/i2c-1 |0x20| | 2 |/dev/i2c-1 |0x20|
  
-==== k8048 Microchip PIC programmer ====+=== Pickle Microchip PIC ICSP ===
  
 Low Voltage Programming with VPP at 3V3 or 5V Low Voltage Programming with VPP at 3V3 or 5V
  
 Separate data I/O connections (only supported option) Separate data I/O connections (only supported option)
 +
 +==Wiring==
  
 <code> <code>
Line 55: Line 70:
    - Not used by all LVP compatible devices.     - Not used by all LVP compatible devices. 
  
 +==Config==
 +<code>
 +VPP=0     # A0
 +PGC=1     # A1
 +PGDO=2    # A2
 +PGDI=3    # A3
 +PGM=-1
 +DEVICE=MCP230XX
 +IFACE=/dev/i2c-1
 +ADDR=0x20
 +SLEEP=0
 +#VPP_RUN + PGD_IN_PULLUP
 +BITRULES=0x1010
 +</code>
 +===Resources===
 +
 +[[https://wiki.kewl.org/downloads/Slice_Pi.pdf|Assembly manual]]