total newbe question about building the MSVS C# project

I downloaded the C# zip for release 3.2.0, loaded the two projects (HowToDriver & Pulse), tried to build, and got over 30 errors. They are all missing file complaints. Everything under the ‘bind’ folder is marked with a red x, as in missing, not there. Probably because the ‘bind’ folder is also missing lol. I’m sure this is a silly error on my part, but I have never used GitLab before. Was I supposed to get the bind folder and its contents through some separate operation?

Hi Joe

Gitlab only hosts the souce code
Pulse is a C++ library, so you have to build the complete code base before you can actually use the C# files provided in the repository.
The bind folder will be generated during the build process.

The easist way to grab a prebuilt version of the Pulse API, is to grab the unity asset (are you trying to use C# unity?). I will be updating our unity asset in the store with 3.2 this week.

If you are using windows, (since you are using c#?), its pretty easy to build the code base. You can either use git to clone the repository or you can download the zip of the entire code base. Once you have the code base, you can follow these build instructions

If you are using C# on a different OS let me know.

I’m totally confused. I’m actually planning to do my own simulation coding, probably in Apple Swift via Xcode, and I don’t necessarily care that much about the built libraries. What I really need is to see the source code for the circuits, as you call them. I have downloaded the entire code base as you directed, and it is identical to what I already downloaded, and I am just not finding the circuit logic anywhere, in any language. I’m feeling like a complete idiot. I know it must be there somewhere, but I just can’t find it.

BTW, so you don’t think I’m a complete amateur lol, I will tell you I did do simulation programming back in the day, in Fortran, and C++, for a nuclear plant control room training simulator for Exelon, so I’m ok once I can find the code. This open source environment though is completely new to me, and I have no idea where all the pieces and parts are, so please bear with me while I learn. :slight_smile:

Um, ok, I just found the circuit code. Sorry. :slight_smile:

We use google protobuf to define all of our data structures to support serialization
So during the build, we use the protobuf compiler to generate C++, C#, Java, and Python files that handle all the serialization. These files are what gets populated in the bind directory during the build.

Glad you found the circuits
This is where the circuit related classes are defined (including the circuit solver)
This is where we build out circuits to test
This is where we build the circuits specific to Pulse