Robot Engage Blog Buy Now
Blog

Misty Community Forum

2019.12.04 - Misty Uplink: C# SDK Discussion with Misty's Sr. Software Engineer

UPDATED TO ADD
Watch the discussion here!

Surprise! We’ve decided to squeeze in one or two more Uplinks to 2019. Most of the team will be in San Francisco at a series of events this week, so @Chris will be posting a pre-recorded discussion with our Sr. Software Engineer about the creation of the C# SDK. Post all your questions in this thread and we’ll try to answer them all during this chat.

image

Uplinks is the bi-weekly broadcast of everything happening here at Misty, the industry in general, and your chance to ask questions and engage with the Misty team directly. Make sure to let us know what topics you’d like covered in future events, and ask questions ahead of time by registering and clicking on the ‘Ask a Question’ button.

Save your spot and we look forward to talking with you!

If the Misty team can please find some time to pull this discussion together, that would be great. I am not familiar with the C# SDK, and have been reading up on the new release. A demonstration of building a C# Misty Skill, and perhaps a discussion of the tradeoffs between writing a skill in JavaScript or C# would be much appreciated. Thanks!

We’ll be posting this later today. As these things sometimes go, @Chris and @brad were pulled away from their discussion to attend to some issues with our events last week. Thanks for your patience!

Hi @MorningR

There are a number of assets we’ve been working on for the .NET SDK, you can run through the documentation, download the relevant tools, or watch this getting started video

As Ashley mentioned, we were extra focused on events last week and are catching up on a few things this fine Monday, stay tuned!

1 Like

Thanks so much @Chris! Watching the getting started video from above link, I was able to get a C# program loaded to Misty and the LED to blink red! Had to turn on “Developer mode” in Windows settings.

@ashley I think the Misty Team is crazy to try and squeeze in more events this time of year, but please know that I appreciate it, even if it is a little late. I was hoping that I missed something and you would just point me to the proper link. And I am so looking forward to the future uplinks that you have scheduled. Keep up the awesome work!

@MorningR I can confirm that we are indeed crazy. :slight_smile: But also just excited to introduce Misty to wider audiences. Thank you for your kind words and support!

Hi @Ashley. Tis the season for patience, and you asked for patience…and I am trying. If I may patiently continue pestering you and the Misty Team about this Uplink. I am interested in learning how to program Misty, and need to Upgrade my skills in order to.

Not sure if the uplink is already recorded, but If I may ask some additional questions (Note - if they are better to answer in other part so the forum, then please move them):

Can you call a JavaScript skill on Misty from C#? Or a C# Skill from JavaScript? Or Blockly? Are there reasons you would or wouldn’t do this?

How would you go about structuring a large program in C#? Say you wanted to run all of the Skills (around ~60?) presently in the Misty Skill part of the forum sequentially. Is there a Skill Manager that handles this?

Thanks as always to the Misty Team. I am (regretfully) done with Misty for the year. Excited to see what next year brings!

1 Like

@MorningR We so appreciate your patience! The video can be found here.

I’ll defer to @Woo @johnathan @Ben or @Chris to answer your additional questions.

Happy Holidays!

You can! You’d just use the RunSkill command and pass in the GUID of the skill you want to start. You can also trigger skills to run on a callback, instead of passing data into a callback function that lives in the currently running skill. We have a tutorial on that here. JavaScript and C# skills alike are associated with a unique GUID, and you should be able to start one kind of skill from another without issue. I believe RunSkill is also available in Blockly – you might double check me on that :slight_smile:

There’s not any reason not to do this, and it’s easy to imagine a few use cases. One example comes quickly to mind because I ran into it recently. Let’s say you’re more familiar with JavaScript, so you choose that as your main SDK for skill development. But at some point, you get stuck on some thing you want Misty to do, and you find out there’s a C# library that could handle it better than your JS implementation. You could create a small .NET skill for just that functionality, and trigger that skill to run from within your JS skill.

I don’t believe there is a “skill manager” as-such built into the SDK, but you could certainly build a C# skill the main purpose of which is to launch, pause, and cancel other skills. How you’d structure this is pretty open-ended, and would likely depend on your use case :robot:

Thanks for all the great questions. Keep 'em coming :slight_smile: