def run():
  heartbeatOff();
  roboveroConfig()

  MCPWM_Init(LPC_MCPWM)

  channelsetup=[]
  for i in range(3):
    channelsetup.append(MCPWM_CHANNEL_CFG_Type())

  channelsetup[0].channelType = MCPWM_CHANNEL_EDGE_MODE
  channelsetup[0].channelPolarity = MCPWM_CHANNEL_PASSIVE_LO
  channelsetup[0].channelDeadtimeEnable = FunctionalState.DISABLE
  channelsetup[0].channelDeadtimeValue = 0
  channelsetup[0].channelUpdateEnable = FunctionalState.ENABLE
  channelsetup[0].channelTimercounterValue = 0
  channelsetup[0].channelPeriodValue = 900
  channelsetup[0].channelPulsewidthValue = 450

  channelsetup[1].channelType = MCPWM_CHANNEL_EDGE_MODE
  channelsetup[1].channelPolarity = MCPWM_CHANNEL_PASSIVE_LO
  channelsetup[1].channelDeadtimeEnable = FunctionalState.DISABLE
  channelsetup[1].channelDeadtimeValue = 0
  channelsetup[1].channelUpdateEnable = FunctionalState.ENABLE
  channelsetup[1].channelTimercounterValue = 0
  channelsetup[1].channelPeriodValue = 900
  channelsetup[1].channelPulsewidthValue = 200

  channelsetup[2].channelType = MCPWM_CHANNEL_EDGE_MODE
  channelsetup[2].channelPolarity = MCPWM_CHANNEL_PASSIVE_LO
  channelsetup[2].channelDeadtimeEnable = FunctionalState.DISABLE
  channelsetup[2].channelDeadtimeValue = 0
  channelsetup[2].channelUpdateEnable = FunctionalState.ENABLE
  channelsetup[2].channelTimercounterValue = 0
  channelsetup[2].channelPeriodValue = 900
  channelsetup[2].channelPulsewidthValue = 200

  MCPWM_ConfigChannel(LPC_MCPWM, 0, channelsetup[0].ptr)
  MCPWM_ConfigChannel(LPC_MCPWM, 1, channelsetup[1].ptr)
  MCPWM_ConfigChannel(LPC_MCPWM, 2, channelsetup[2].ptr)

  #DC Mode
  MCPWM_DCMode(LPC_MCPWM, FunctionalState.ENABLE, FunctionalState.DISABLE, (0))

  MCPWM_Start(LPC_MCPWM, FunctionalState.ENABLE, FunctionalState.ENABLE, FunctionalState.ENABLE)

  try:
    while True:
      #MCPWM_WriteToShadow(LPC_MCPWM, 0, channelsetup[0].ptr) #Change the speed
      for i in range(6):
        BLDC_commutate(i)
  except:
    MCPWM_Stop(LPC_MCPWM, FunctionalState.ENABLE, FunctionalState.ENABLE, FunctionalState.ENABLE)
    heartbeatOn()
    print "you broke it"
Exemple #2
0
def run():
  roboveroConfig()
  pinMode(LED, OUTPUT)
  heartbeatOff()

  # Initialize script
  myscript=Script([["GPIO_ClearValue", 3, 2000000],
    ["delay",10000000],
    ["GPIO_SetValue", 3, 2000000]])
  print "script added"

  try:
    while True:
      raw_input("Press Enter to run script")
      print myscript.run()
      print "script done"
      # append to script
      myscript.append("delay",10000000)
      myscript.append("GPIO_ClearValue", 3, 2000000)
      myscript.append("delay",10000000)
      myscript.append("GPIO_SetValue",3, 2000000)
  except:
    heartbeatOn()
    print "goodbye"