This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP-EXP430F5529LP: uploading code from energia to msp430

Part Number: MSP-EXP430F5529LP
Other Parts Discussed in Thread: ENERGIA

Tool/software:

Hello, 

I am trying to upload my code from Energia to the msp-exp430f5529 launch pad.

The issue is that it gives me an error, and I am unsure if it is my syntax or if I installed the software wrong. 

I would greatly appreciate it if you could guide me in the right direction. 

This is the error:

java.io.IOException: Cannot run program "{runtime.tools.dslite-9.2.0.1793-e1.path}/DebugServer/bin/DSLite": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at processing.app.helpers.ProcessUtils.exec(ProcessUtils.java:26)
at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:129)
at cc.arduino.packages.uploaders.SerialUploader.runCommand(SerialUploader.java:383)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:197)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
at processing.app.SketchController.upload(SketchController.java:732)
at processing.app.SketchController.exportApplet(SketchController.java:703)
at processing.app.Editor$UploadHandler.run(Editor.java:2075)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 9 more
An error occurred while uploading the sketch

This is the code if you need it:

#include<SPI.h>
#include<msp430f5529.h>
#include "HardwareSerial.h"

void Initialize();

#define CS BIT1
#define STEP BIT2
#define SLEEPn BIT6
#define DIR_PIN BIT1
#define RST BIT7
#define STALL_PIN BIT0
#define FAULT BIT2
int flag =0;
int i,j;

char in;
void setup()
{
  //output pins
  P8DIR |= CS;
  P4DIR |= (STEP|DIR_PIN);
  P2DIR |= (RST|STALL_PIN|FAULT);
  P6DIR |= SLEEPn;
  pinMode(P7_4, OUTPUT);
  digitalWrite(P2_2, HIGH); // fault input
  digitalWrite(P2_0, HIGH); // Stall input
  digitalWrite(P6_6, HIGH); //nSLEEP = high
  digitalWrite(P4_1, HIGH); //dir = high
  digitalWrite(P2_7, LOW);  //reset = low
  Serial.begin(115200);
  SPI.begin();
  SPI.setClockDivider(2);
  delay(1);
  Initialize();
  getCurrentRegisters(); 

  digitalWrite(P7_4, HIGH);
  delayMicroseconds(10);
  digitalWrite(P7_4, LOW);
}

void loop()
{
  WriteSPI(0x0C, 0x05);
  for(i=0; i<200; i++){
      digitalWrite(P4_2, LOW); // step
      delayMicroseconds(100);
      digitalWrite(P4_2, HIGH);// step
      delayMicroseconds(10000);
  }
    WriteSPI(0x0C, 0x04);
  delay(1000);
  
  WriteSPI(0x0C, 0x07); //reverse the direction to return back
  for(i=0; i<200; i++){
      digitalWrite(P4_2, LOW);
      delayMicroseconds(100);
      digitalWrite(P4_2, HIGH);
      delayMicroseconds(10000);
  }
  WriteSPI(0x0C, 0x04);
  delay(1000);
}

unsigned int WriteSPI(unsigned char dataHi, unsigned char dataLo)
{
  //  unsigned int readData = 0;
  //  SPI.setBitOrder(MSBFIRST);
  //  digitalWrite(P8_1, HIGH);
  //  SPI.transfer(dataHi);
  //  
  //  SPI.transfer(dataLo);
  //  digitalWrite(P8_1, LOW);
  unsigned int readData = 0;

  digitalWrite(P8_1,HIGH);

  UCB0TXBUF = dataHi;
  while (UCB0STAT & BUSY);
  readData |= (UCB0RXBUF << 8);

  UCB0TXBUF = dataLo;
  while (UCB0STAT & BUSY);
  readData |= UCB0RXBUF;
  digitalWrite(P8_1, LOW);
  readData &= 0x7FFF;

  return readData;
}

void Initialize()
{
  //CTRL Register defaults
  unsigned char CTRLdataHi, CTRLdataLo;
  CTRLdataHi = 0x0C;
  CTRLdataLo = 0x05;
  WriteSPI(CTRLdataHi, CTRLdataLo);

  //TORQUE defaults
  unsigned char TORQUEHi, TORQUELo;
  TORQUEHi = 0x13;
  TORQUELo = 0x1F;
  WriteSPI(TORQUEHi, TORQUELo);

  //OFF defaults
  unsigned char OFFHi, OFFLo;
  OFFHi = 0x20;
  OFFLo = 0xF0;
  WriteSPI(OFFHi, OFFLo);

  //BLANK defaults
  unsigned char BLNKHi, BLNKLo;
  BLNKHi = 0x31;
  BLNKLo = 0xF0;
  WriteSPI(BLNKHi, BLNKLo);

  //DECAY defaults
  unsigned char DECAYHi, DECAYLo;
  DECAYHi = 0x41;
  DECAYLo = 0x10;
  WriteSPI(DECAYHi, DECAYLo);

  //STALL defaults
  unsigned char STALLHi, STALLLo;
  STALLHi = 0x53;
  STALLLo = 0x40;
  WriteSPI(STALLHi, STALLLo);

  //DRIVE defaults
  unsigned char DRIVEHi, DRIVELo;
  DRIVEHi = 0x60;
  DRIVELo = 0x0F;
  WriteSPI(DRIVEHi, DRIVELo);

  //STATUS defaults
  unsigned char STATUSHi, STATUSLo;
  STATUSHi = 0x70;
  STATUSLo = 0x00;
  WriteSPI(STATUSHi, STATUSLo);
}

void getCurrentRegisters()
{
  Serial.print("\n-----------------------------------------------\n");
  Serial.print("CTRL register ");
  Serial.print(WriteSPI(0x80, 0x00),HEX);
  Serial.print("\n");

  Serial.print("TORQUE register ");
  Serial.print(WriteSPI(0x90, 0x00),HEX);
  Serial.print("\n");

  Serial.print("OFF register ");
  Serial.print(WriteSPI(0xA0, 0x00),HEX);
  Serial.print("\n"); 

  Serial.print("BLANK register ");
  Serial.print(WriteSPI(0xB0, 0x00),HEX);
  Serial.print("\n");

  Serial.print("DECAY register ");
  Serial.print(WriteSPI(0xC0, 0x00),HEX);
  Serial.print("\n");

  Serial.print("STALL register ");
  Serial.print(WriteSPI(0xD0, 0x00),HEX);
  Serial.print("\n");

  Serial.print("DRIVE register ");
  Serial.print(WriteSPI(0xE0, 0x00),HEX);
  Serial.print("\n");

  //Serial.print("STATUS register ");
  //Serial.print(WriteSPI(0xF0, 0x00),HEX);
  //Serial.print("\n-----------------------------------------------\n");
}

**Attention** This is a public forum