LEGO Mindstorms EV3


Write Third Party EV3 Dumb Output Device
                                                                      //
subcall   Write3PEv3DumbOutputDevice                                  //  void Write3PEv3DumbOutputDevice(Value,hName,Layer,Port,Data)
{                                                                     //  
  IO_F    Value                                                       //
  IO_16   hName                                                       //
  IO_8    Layer                                                       //
  IO_8    Port                                                        //
  IO_8    Data                                                        //
                                                                      //
  DATA8   Output                                                      //
  DATA8   Tmp                                                         //
                                                                      //  {
  RL8(Port,1,Output)                                                  //    Output  =  1 << Port                  
  OUTPUT_POWER(Layer,Output,Data)                                     //    OUTPUT_POWER(Layer,Output,Data)
  OUTPUT_START(Layer,Output)                                          //    OUTPUT_START(Layer,Output)  
  MOVE8_F(Data,Value)                                                 //    Value  =  Data
  MUL8(INPUTS,CHAIN_DEPT,Tmp)                                         //    Tmp    =  INPUTS * CHAIN_DEPT
  ADD8(Port,Tmp,Tmp)                                                  //    Tmp   +=  Port
  INPUT_DEVICE(GET_NAME,Layer,Tmp,-1,@hName)                          //    INPUT_DEVICE(GET_NAME,Layer,Port,Length,@hName)
}                                                                     //  }
                                                                      //  

LEGO® Robotics Firmware Documentation
Confidential Information © 2013 The LEGO Group