def instance_arduino_code(self, ad): ad.setup.add_call(Arduino.pinMode(self.relay_pin, Arduino.OUTPUT)) ad.loop.add_call( if_(self.active, Arduino.digitalWrite(self.relay_pin, Arduino.LOW)), else_(Arduino.digitalWrite(self.relay_pin, Arduino.HIGH)), ) self.relay_pin.arduino_setter.add_call( Arduino.pinMode(self.relay_pin, Arduino.OUTPUT) )
def add_arduino_code(self, ad): ad.loop.add_call( self.avg.set(0), for_( for_.i, for_.i < self.samples, 1, self.avg.set(self.avg + Arduino.analogRead(self.analog_pin2)), ), self.analog_value2.set(self.avg / self.samples), ) self.analog_pin2.arduino_setter.add_call( Arduino.pinMode(self.analog_pin2, Arduino.INPUT))
class PushButtoModule(ArduinoBoardModule): # depencies basic_board_module = BasicBoardModule # arduino_variables button_pin = arduio_variable(name="button_pin", arduino_data_type=uint8_t, eeprom=True) button_pressed = arduio_variable( name="button_pressed", arduino_data_type=bool_, setter=False, arduio_setter=False, is_data_point=True, ) reinitalize_button = at.Function("reinitalize_button", uint8_t) reinitalize_button.add_call( Arduino.pinMode(reinitalize_button.arg1, Arduino.INPUT)) def instance_arduino_code(self, ad): ad.setup.add_call(self.reinitalize_button(self.button_pin)) self.button_pin.arduino_setter.add_call( self.reinitalize_button(self.button_pin)) ad.loop.add_call( if_( Arduino.digitalRead(self.button_pin) == Arduino.HIGH, self.button_pressed.set(Arduino.true), ), else_(self.button_pressed.set(Arduino.false)), )
def instance_arduino_code(self, ad): ad.setup.add_call(Arduino.pinMode(self.relay_pin, Arduino.OUTPUT)) ad.loop.add_call( self.cycletime.set(self.basic_board_module.current_time - self.last_cycle), if_(self.cycletime > self.full_cycle, self.cycletime.set(0)), if_( self.cycletime > self.full_cycle * self.duty_cycle, Arduino.digitalWrite(self.relay_pin, Arduino.HIGH), ), else_(Arduino.digitalWrite(self.relay_pin, Arduino.HIGH)), ) self.relay_pin.arduino_setter.add_call( Arduino.pinMode(self.relay_pin, Arduino.OUTPUT) )
def module_arduino_code(cls, board, arduino_code_creator): cls.deactivate_pin.add_call( if_( cls.active_cs_pin > 0, code=( Arduino.digitalWrite(cls.active_cs_pin, Arduino.HIGH), cls.active_cs_pin.set(0), ), ) ) cls.activate_pin.add_call( if_(cls.active_cs_pin == cls.activate_pin.arg1, return_()), if_(cls.active_cs_pin > 0, cls.deactivate_pin()), Arduino.pinMode(cls.activate_pin.arg1, Arduino.OUTPUT), cls.active_cs_pin.set(cls.activate_pin.arg1), Arduino.digitalWrite(cls.active_cs_pin, Arduino.LOW), )
def add_arduino_code(self, ad): ad.setup.add_call(Arduino.analogReference(Arduino.EXTERNAL)) ad.loop.add_call( self.avg.set(0), for_( for_.i, for_.i < self.samples, 1, self.avg.set(self.avg + Arduino.analogRead(self.analog_pin)), ), self.analog_value.set(self.avg / self.samples), ) self.analog_pin.arduino_setter.add_call( Arduino.pinMode(self.analog_pin, Arduino.INPUT) )
def instance_arduino_code(self, ad): ad.setup.add_call(self.reinitalize_button(self.button_pin)) self.button_pin.arduino_setter.add_call( self.reinitalize_button(self.button_pin)) ad.loop.add_call( if_( Arduino.digitalRead(self.button_pin) == Arduino.HIGH, self.button_pressed.set(Arduino.true), ), else_(self.button_pressed.set(Arduino.false)), )
def instance_arduino_code(self, ad): ad.setup.add_call(Arduino.pinMode(self.signal_pin, Arduino.OUTPUT)) ad.loop.add_call( self.cycletime.set(self.basic_board_module.current_time - self.last_cycle), if_( self.cycletime > self.full_cycle, ( self.cycletime.set(0), self.last_cycle.set(self.basic_board_module.current_time), ), ), if_( self.duty_cycle == 0, Arduino.digitalWrite(self.signal_pin, Arduino.HIGH), ), elseif_( self.duty_cycle == 100, Arduino.digitalWrite(self.signal_pin, Arduino.LOW), ), elseif_( self.cycletime < self.full_cycle * ((self.duty_cycle.cast(float_) / self.duty_cycle.maximum)), Arduino.digitalWrite(self.signal_pin, Arduino.LOW), ), else_(Arduino.digitalWrite(self.signal_pin, Arduino.HIGH)), ) self.signal_pin.arduino_setter.add_call( Arduino.pinMode(self.signal_pin, Arduino.OUTPUT))
def add_arduino_code(self, ad): ad.loop.add_call( Arduino.analogWrite(self.red_pin, self.red), Arduino.analogWrite(self.green_pin, self.green), Arduino.analogWrite(self.blue_pin, self.blue), ) self.blue_pin.arduino_setter.prepend_call( Arduino.analogWrite(self.blue_pin, 0)) self.blue_pin.arduino_setter.add_call( Arduino.pinMode(self.blue_pin, Arduino.OUTPUT)) self.red_pin.arduino_setter.prepend_call( Arduino.analogWrite(self.red_pin, 0)) self.red_pin.arduino_setter.add_call( Arduino.pinMode(self.red_pin, Arduino.OUTPUT)) self.green_pin.arduino_setter.prepend_call( Arduino.analogWrite(self.green_pin, 0)) self.green_pin.arduino_setter.add_call( Arduino.pinMode(self.green_pin, Arduino.OUTPUT))
def generate_arduino_setter(self): from arduino_controller.basicboard.board import ( COMMAND_FUNCTION_COMMUNICATION_ARGUMENTS, ) functions = [] if self.add_to_code: functions.append( Arduino.memcpy( self.to_pointer(), COMMAND_FUNCTION_COMMUNICATION_ARGUMENTS[0], self.type.byte_size, )) if self.eeprom: functions.append( Eeprom.put(self.board.eeprom_position.get(self), self)) return functions
def add_arduino_code(self, ad): ad.setup.add_call(Arduino.pinMode(self.relay_pin, Arduino.OUTPUT)) ad.loop.add_call(Arduino.digitalWrite(self.relay_pin, self.open)) self.relay_pin.arduino_setter.add_call( Arduino.pinMode(self.relay_pin, Arduino.OUTPUT))
variables=[(dt.uint8_t, "B", 1)], )) # print(func1.arg1,func1.arg2) func1.add_call( var1.set(func1.arg2 * func1.var1), func1.arg1[var1].set(10), func1.arg1[2].set(var1 % 3), ((var1 | (D1 & var1)) ^ D1 + ~var1) >> 3, ) acc.setup.add_call( func1(var1, D1), var1.set((var1 + D1) * 10), var1.set(var1 + (D1 * 10)), var1.set(var1 + D1 * 10), Arduino.memcpy(var1.to_pointer(), var1.to_pointer(), var1.type.byte_size), ) acc.loop.add_call( for_( for_.i, for_.i < var1, -1, code=(var1.set(var1 / 2), farray[2].set(-farray[2])), )) code = acc.create_code( # obscure=True ) print(code)
def module_arduino_code(cls, board, arduino_code_creator): arduino_code_creator.setup.add_call(Arduino.analogReference(Arduino.EXTERNAL))