Jump to content
43oh

wendlers

Members
  • Content Count

    6
  • Joined

  • Last visited

Posts posted by wendlers

  1. Thanks,

     

    I see one of the packet types is "External Interrupt function (setup)" Is the plan to have a configurable MSP event that's able to trigger a message on the USB port such as when a specific input goes high or low so the PC does not need to continually poll the input?

     

    Any chance at some servo control commands?

     

    I don't know Processing but I would like to use the protocol and firmware from a project like this to turn the LaunchPad into a general purpose Input/Output board for another project I work on that does home automation. Open Source Automation

     

    ah and I forgot an other thing: you don't need to use Processing at all! The processing library just relays on a Java library which exactly provides the same functionality. Anyway, if you intend to connect the Launchpad to a small embedded like hardware (RasPi or whatever), Java may not be the best choice. I am thinking about providing a Python binding as well :-)

     

    I wrote up lately some Client Implementation Hints to make it more easy for others to come up with bindings in other languages (personally I would love to see a C++ API).

  2. Thanks,

     

    I see one of the packet types is "External Interrupt function (setup)" Is the plan to have a configurable MSP event that's able to trigger a message on the USB port such as when a specific input goes high or low so the PC does not need to continually poll the input?

     

    Any chance at some servo control commands?

     

    I don't know Processing but I would like to use the protocol and firmware from a project like this to turn the LaunchPad into a general purpose Input/Output board for another project I work on that does home automation. Open Source Automation

     

    interesting: what language are you intending to use? what is the device you are intending to connect the launchpad to?

  3. Thanks,

     

    I see one of the packet types is "External Interrupt function (setup)" Is the plan to have a configurable MSP event that's able to trigger a message on the USB port such as when a specific input goes high or low so the PC does not need to continually poll the input?

     

    Any chance at some servo control commands?

     

    I don't know Processing but I would like to use the protocol and firmware from a project like this to turn the LaunchPad into a general purpose Input/Output board for another project I work on that does home automation. Open Source Automation

     

    There is exactly such a thing for external interrupts as you described it :-) The MSP is configured to call an interrupt handler if e.g. a LOW-HIGH edge or HIGH-LOW edge is detected, and then passes that along the USB as ROCKETuC Protocol message. And this actually causes the client API to call your call-back handler ...

     

    Regarding the servo stuff. I am not sure if we really need to abstract that any more (but it would be easily possible to "mix-in" additional Functionality to the core ROCKETuC). Driving a servo is as easy as this:

     

    // import ROCKETuC API

    import rocketuc.processing.*;

     

    // our instance of the ROCKETuC API referenced through variable r

    ROCKETuC r;

     

    int dcConvert(int dcPercent) {

    return (0xFF / 100 * dcPercent);

    }

     

    void setup() {

    try {

    // connect to MCU, replace "/dev/ttyACM0" with you virtual COM port

    r = new ROCKETuC(this, "/dev/ttyACM0");

     

    // set P2.1 as PW

    r.pinMode(ROCKETuC.PIN_2_1, ROCKETuC.PWM);

     

    // set PWM period to 22000us on pin 2.1

    r.pwmPeriod(ROCKETuC.PIN_2_1, 22000);

     

    // set PWM duty cycle on pin 2.1 (center)

    r.pwmDuty(ROCKETuC.PIN_2_1, dcConvert(9));

    delay(1000);

     

    // set PWM duty cycle on pin 2.1 (full right)

    r.pwmDuty(ROCKETuC.PIN_2_1, dcConvert(14));

    delay(1000);

     

    // set PWM duty cycle on pin 2.1 (full left)

    r.pwmDuty(ROCKETuC.PIN_2_1, dcConvert(4));

    delay(1000);

    }

    catch(Exception e) {

    // If something goes wrong while communication with the MCU

    // the catch block will be processed. Here the error handling

    // should be done.

    println(e.getMessage());

    exit();

    }

    }

  4. Here is the protocol definition for ROCKETuC.

     

    And yes, the Simpsons already did it, ah no I mean Firmata does something similar, but we use a different protocol ... A standard in general would be a good thing but is hard to achieve. But the protocol (as well as the transport layer) of ROCKETuC are only one aspect of ROCKETuC, and they are exchangeable in fact.

     

    Regards,

    Stefan

    ROCKETuC_Protocol.pdf

  5. Hello,

     

    my name is Stefan, and I am a software developer and hobbyist electronics hacker. I started working with the MSP430 MCUs some months ago, and I am currently working on various MSP430 based projects including a project which integrates the Nordic nRF25l01 wireless modules with a launchpad.

     

    I am looking forward to be part of this community,

    best regards,

    Stefan

×
×
  • Create New...