// half of (PR2 + 1) is 500. EXCEPTION_ASSERT(OC2RS == 500); #else #warning Cannot test PWM frequency! #endif return retval; """ pass import pic24_dspic33 as pic # Test digital I/O briefly # ------------------------ # port pin isInput isOpenDrain pullDir dio = pic.digital_io(1, 1, False, False, 0) testConfigDigitalPin1() # port pin isInput isOpenDrain pullDir dio = pic.digital_io(1, 1, True, True, 1) testConfigDigitalPin2() # port pin isInput isOpenDrain pullDir dio = pic.digital_io(1, 1, False, False, 0) dio.set(True) assert(dio.get()) assert(dio.getPin()) assert(dio.getLatch()) # Test default args dio = pic.digital_io(1, 1, False);
// half of (PR2 + 1) is 500. EXCEPTION_ASSERT(OC2RS == 500); #else #warning Cannot test PWM frequency! #endif return retval; """ pass import pic24_dspic33 as pic # Test digital I/O briefly # ------------------------ # port pin isInput isOpenDrain pullDir dio = pic.digital_io(1, 1, False, False, 0) testConfigDigitalPin1() # port pin isInput isOpenDrain pullDir dio = pic.digital_io(1, 1, True, True, 1) testConfigDigitalPin2() # port pin isInput isOpenDrain pullDir dio = pic.digital_io(1, 1, False, False, 0) dio.set(True) assert (dio.get()) assert (dio.getPin()) assert (dio.getLatch()) # Test default args dio = pic.digital_io(1, 1, False)
# A copy of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 # is seen in the file COPYING up one directory from this. ## @file # @brief Sample code to illustrate use of # PIC24/dsPIC33-specific Python functions # # Load in the PIC24/dsPIC33 library import pic24_dspic33 as pic # Demo some of the PIC hardware functions # --------------------------------------- # Toggle a pin # port pin isInput isOpenDrain pullDir dio = pic.digital_io(1, 1, False, False, 0) dio.set(not dio.get()) # Do some analog input ain = pic.analog_input(0) print ain.getVoltage() # Do some PWM # freq isTimer2 oc ocPin pwm1 = pic.pwm(1000, True, 2, 0) pwm1.set(0.5) # Now run main.py to start up ipm import main
# Monitor RAM usage import sys print "\n\nRAM usage: (free, total): ", sys.heap() ############################################################### # Set up line sensors, distance sensor, motors ############################################################### # Line sensors are digital inputs. Create one. print "Testing line sensors.", # For port and pin, a label of RA1 is port = 0 (A), pin = 1; # a label of RB9 is port = 1 (B), pin = 9. # port pin isInput line_sensor_left = pic.digital_io(1, 7, True) line_sensor_middle = pic.digital_io(1, 8, True) line_sensor_right = pic.digital_io(1, 9, True) print "Line sensor 4: Is a black line present?", print line_sensor_middle.get() # The distance sensor is an analog input. Create one. print "Distance sensor: voltage is", # The only argument to analog_input is the ANx number of # the analog pin to use. Below, the distance sensor is # connected to AN4. dist_sensor = pic.analog_input(4) print dist_sensor.getVoltage(), "V" # The servos are controlled by pulse-width modulation. print "Driving left..."