VENUS Questions!

Hi, I’ll respond to my own post in case it helps someone.
I’ve realized they are just COM interfaces exposed, so we can view the interfaces with an OLE viewer software and get access to the list of available methods.
Thanks,

Ah people have experience with the schedulers in venus! I’d like to do more with this, do you have any documentation/examples or anything you use to work with them? The help with the functions aren’t the clearest…

Amazing thread! @EricSindelar_Hamilton - how to we perform firmware upgrades? We’re running into this error on a couple STARlets we got at auction & can’t get them to run via Hamilton Run Control due to this error: (it still executes direct firmware commands with no issues)

Firmware check failed at modul Main module. version on instrument is 6.1S B 2009-03-25 (0x29 - 0x1 - 0x9)

You can reach out to the Hamilton Service Hotline at 1-800-527-5269 or roboticservice@hamiltoncompany.com to determine what support we can provide. We do not provide firmware or upgrades free of charge and without the oversight of trained personnel. Uploading incorrect or incompatible firmware could damage the system.

Can we get a link for people alright with damaging their systems? Just so others who google this problem in the future can solve it without asking for help from someone with access to the right files

1 Like

I’m sorry, but it is not our policy to share firmware as it creates too much risk due to misuse.

1 Like

How about sharing copies of Venus 1 or 2 instead of automating your firmware install process? This way nobody is sad they bricked their robot!

1 Like

See below!

6 Likes

This is massive! Highly appreciated @EricSindelar_Hamilton

5 Likes

@EricSindelar_Hamilton , Thanks again for all the help here!

I’m working with the HSLJson library, and it seems like my help files are missing the Validate function. Can you please elaborate a bit about the inputs it expect? specifically Schema versions, as well as the outputs (are errors returned as an array or string? it clearly expects a string, but I get a weird return value there saying ‘Can not convert Array to Boolean’)

Thanks!

As far as I remember the Json library us just a wrapper for the Json.net class.
Maybe you can find some information in their documentation:

https://www.newtonsoft.com/json/help/html/R_Project_Documentation.htm

1 Like

@sgils - This function will verify that that contents of a JSON file are of valid structure/syntax per JSON conventions.

i_objJSON: (input) The JSON object returned by the ‘Create’ function required by all of the library functions

i_strSchemaFilePath: (input) This is the full file path (with extension) of the JSON file you want to check

o_blnValid: (output) 1 if the file structure is valid and 0 if not

o_strErrorMessages: (output) A conjoined string of all relevant error descriptions in the event that the file was unable to be read or if the file structure was not valid. This will be a single string variable and not an array

I believe the return value of the function will be 6 (int) if there are any issues opening or reading the file contents, irrespective of validity, otherwise 0.

Note that this function does not require the use of the ‘Load’ function prior, as the file will be available via the provided path as a required input. Here is an example of a few lines of VENUS that use this command:
image

If you were done with the file at this point, it would also be good practice to release the JSON object.

This online JSON validator tool performs the same functionality, if you wanted to check the formatting of a JSON file outside of a run. It also contains helpful information regarding JSON formatting requirements, as well as some other general related topics.

Hope this helps!

-Nick

2 Likes

Thanks @NickHealy_Hamilton, this is very helpful. Looks like I had it all wrong - I assumed we validate an already loaded JSON agains a JSON schema (similar to https://www.jsonschemavalidator.net/ for example).

1 Like

Is there a way to send firmware commands without tracing?
I want to send about 160 firmware commands in quick succession (they only pull data) and it takes quite some time for it run, which I think is mainly due to the tracing.

@benjaminwohl - The run tracing action of VENUS firmware commands is built in at low levels, and cannot be turned off or disabled. This was likely done to ensure that in cases where custom firmware commands are implemented, it is always visible/documented, as tapping into lower level commands can circumvent measures that protect the system and could cause damage if misused.

While this is not a typical concern when querying data out of FW, the trace requirement is still applied.

During runtime, you can close or minimize the trace view to prevent the slowdown caused by the sudden uptick in traces.

4 Likes

Disabling the Method View in the run control can also help prevent the slowdown during execution.

4 Likes

I was afraid this would be your answer. I was hoping for something less hands-on during method run.
Oh well, i will have to live with it. :grin:

1 Like

I’m having trouble using the Create function. I just get the error “invalid class string” do I have an outdated JSON library package?

For context of the error we’re seeing:
Running this:
image
Gives this error:


Pointing to:

@smohler @max_gildemeister - ‘Invalid class string’ is thrown when VENUS attempts to reference required components that have not been added to the windows registry. Typically, this occurs when attempting to use a library that requires an installer, in addition to the HSL files for the library.

If you imported the HSL, but haven’t run the installer, this will occur. I’ve linked it here.

This is the latest version, so you may want to delete your current ‘\HAMILTON\Library\HSLJson’ folder first.

1 Like