LEGO Mindstorms EV3


Write LEGO NXT Tacho Output Device
                                                                      //
subcall   WriteLegoNxtTachoOutputDevice                               //  void WriteLegoNxtTachoOutputDevice(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_SPEED(Layer,Output,Data)                                     //    OUTPUT_SPEED(Layer,Output,Data)
  OUTPUT_START(Layer,Output)                                          //    OUTPUT_START(Layer,Output)  
  MUL8(INPUTS,CHAIN_DEPT,Tmp)                                         //    Tmp    =  INPUTS * CHAIN_DEPT
  ADD8(Port,Tmp,Tmp)                                                  //    Tmp   +=  Port
  INPUT_DEVICE(READY_SI,Layer,Tmp,0,0,1,Value)                        //    INPUT_DEVICE(READY_SI,Layer,Port,Type,Mode,DataSets,Value)
  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