예제 #1
0
    SPIsend(SPI_SLAVE_ADDR, SPI_INTCONB, 0xFF)

    SPIsend(SPI_SLAVE_ADDR, SPI_DEFVALA, 0x00)
    SPIsend(SPI_SLAVE_ADDR, SPI_DEFVALB, 0xFF)

    SPIsend(SPI_SLAVE_ADDR, SPI_GPIOA, 0x00)
    SPIsend(SPI_SLAVE_ADDR, SPI_GPIOB, 0x00)

    SPIsend(SPI_SLAVE_ADDR, SPI_INTENA, 0x00)
    SPIsend(SPI_SLAVE_ADDR, SPI_INTENB, 0x00)
      
    SPIsend(SPI_SLAVE_ADDR, SPI_OLATA, 0x00)
    SPIsend(SPI_SLAVE_ADDR, SPI_OLATB, 0xFF)

    address = 0x48
    IOboard.init(address)
                        
    LastMsg = time.time()

    while True:
        try:
            if not Setup:
                try:
                    print("")
                    Bus.write_byte_data(0x21, 0x00, 0xFF)
                    Bus.write_byte_data(0x21, 0x01, 0xFF)
                    Bus.write_byte_data(0x21, 0x12, 0x55)
                    Bus.write_byte_data(0x21, 0x12, 0x00)

                    Bus.write_byte_data(0x22, 0x00, 0xFF)
                    Bus.write_byte_data(0x22, 0x01, 0xFF)
예제 #2
0
import IOboard

if len(sys.argv) != 4:
    print("usage: {0} Address Channel[0|1|2|3] DigitalOut[0~255].".format(sys.argv[0]))
    print("example: {0} I2C Address Read from Channel 0 and write 127 to D/A converter. ".format(sys.argv[0]))
    sys.exit(2)

address = int("0x"+sys.argv[1], 16)
channel = int(sys.argv[2])
out = int(sys.argv[3])

if channel not in [0, 1, 2, 3]:
	print("Channel[0|1|2|3]")
if out not in range(0,256):
	print("DigitalOut[0~255]")

IOboard.init(address)

read = IOboard.readPCF8591(channel)
IOboard.writePCF8591(out)

inV = 3.3*read/255
outV = 3.3*out/255
print("A/D converter reads voltage = {0}".format(inV))
print("D/A converter writes voltage = {0}".format(outV))

data = 255
IOboard.writeAT45Buff(data)
readData = IOboard.readAT45Buff()
print("Read AT45: ", readData)
예제 #3
0
    SPIsend(SPI_SLAVE_ADDR, SPI_INTCONB, 0xFF)

    SPIsend(SPI_SLAVE_ADDR, SPI_DEFVALA, 0x00)
    SPIsend(SPI_SLAVE_ADDR, SPI_DEFVALB, 0xFF)

    SPIsend(SPI_SLAVE_ADDR, SPI_GPIOA, 0x00)
    SPIsend(SPI_SLAVE_ADDR, SPI_GPIOB, 0x00)

    SPIsend(SPI_SLAVE_ADDR, SPI_INTENA, 0x00)
    SPIsend(SPI_SLAVE_ADDR, SPI_INTENB, 0x00)
      
    SPIsend(SPI_SLAVE_ADDR, SPI_OLATA, 0x00)
    SPIsend(SPI_SLAVE_ADDR, SPI_OLATB, 0xFF)

    address = 0x48
    IOboard.init(address)
                        
    LastMsg = time.time()

    while True:
        try:
            if not Setup:
                try:
                    print("")
                    Bus.write_byte_data(0x21, 0x00, 0xFF)
                    Bus.write_byte_data(0x21, 0x01, 0xFF)
                    Bus.write_byte_data(0x21, 0x12, 0x55)
                    Bus.write_byte_data(0x21, 0x12, 0x00)

                    Bus.write_byte_data(0x22, 0x00, 0xFF)
                    Bus.write_byte_data(0x22, 0x01, 0xFF)
예제 #4
0
import IOboard

address = 0x68
IOboard.init(address)
LCDhandler = IOboard.initLCD(2, 16, 8)
IOboard.writeLCD(LCDhandler, 0, 0, "Hello World")
예제 #5
0
    print("usage: {0} Address Channel[0|1|2|3] DigitalOut[0~255].".format(
        sys.argv[0]))
    print(
        "example: {0} I2C Address Read from Channel 0 and write 127 to D/A converter. "
        .format(sys.argv[0]))
    sys.exit(2)

address = int("0x" + sys.argv[1], 16)
channel = int(sys.argv[2])
out = int(sys.argv[3])

if channel not in [0, 1, 2, 3]:
    print("Channel[0|1|2|3]")
if out not in range(0, 256):
    print("DigitalOut[0~255]")

IOboard.init(address)

read = IOboard.readPCF8591(channel)
IOboard.writePCF8591(out)

inV = 3.3 * read / 255
outV = 3.3 * out / 255
print("A/D converter reads voltage = {0}".format(inV))
print("D/A converter writes voltage = {0}".format(outV))

data = 255
IOboard.writeAT45Buff(data)
readData = IOboard.readAT45Buff()
print("Read AT45: ", readData)