# EVnetics Soliton software version 1.2



## Yukon_Shane (Jul 15, 2010)

Hey Qer,

Is there an ETA on Junior yet?

Shane


----------



## Qer (May 7, 2008)

Yukon_Shane said:


> Hey Qer,
> 
> Is there an ETA on Junior yet?
> 
> Shane


Yeah, "soon". 

No, there's not a specific date (unless Tesseract has forgotten to tell me), it'll simply be released when it's done and we're satisfied with the test results etc. 1.2 is the first software release that support Junior (Junior and S1 run exactly the same software to make my life easier) and I think Tesseract has, or soon will have, all the hardware for being able to start testing things.

From testing to producing will of course not happen over night but since it's pretty much a downscaled Soliton 1 and things are coming together fairly nice I don't think it will be even half as tedious as all the last "small fixes" we had to do to the Soliton 1...

But, well, soon.


----------



## Jan (Oct 5, 2009)

Qer said:


> ...it'll simply be released when it's done...


"Planung ist das Ersetzen des Zufalls durch den Irrtum."


----------



## Qer (May 7, 2008)

Jan said:


> "Planung ist das Ersetzen des Zufalls durch den Irrtum."


Hm. Maybe I should print that out and put up in the office at my day time job...


----------



## albano (Jan 12, 2009)

Yukon_Shane said:


> Hey Qer,
> 
> Is there an ETA on Junior yet?
> 
> Shane


What about "Big Sol" are they also on their way?


----------



## Qer (May 7, 2008)

albano said:


> What about "Big Sol" are they also on their way?


Uhm. Well, we're planning it but don't expect that one quite as soon...


----------



## Tesseract (Sep 27, 2008)

We don't really have an official timetable or schedule. We do have a priority list, but even that seems to get changed on a daily basis. That said, our first priority is satisfying demand for the Soliton1 - something which has been a bit of a challenge over the last month to six weeks both because of the hardware revisions I've had to make to accommodate the expanding product line and a weird uptick in orders.

Anyway, I received the 4th revision of the pc boards for Junior a couple weeks ago but I just haven't had the chance to test them yet. That's partially because we need to machine a new enclosure. Once that gets done I can start the destructive testing to determine the safe operating area, then the non-destructive testing to confirm it, then it will more or less be ready for release because the hardware is a known quantity and the software is more or less the same as in the Soliton1 (just different current limits and temperature scaling).

Big Sol... well... it's still on the schedule, it just isn't a high priority. We are pretty much working in tandem with toddshotrods on this, and he, like us, is very much afflicted with the tinkering/perfectionist genes


----------



## toddshotrods (Feb 10, 2009)

Tesseract said:


> ...Big Sol... well... it's still on the schedule, it just isn't a high priority. We are pretty much working in tandem with toddshotrods on this, and he, like us, is very much afflicted with the tinkering/perfectionist genes


Yup.  Sorry guys, I'm on their side.  EV racing is still gestating right now, and there isn't exactly a lot of need/demand for it *yet* anyway. The current crop hasn't even exceeded the limits of the Zilla 2K-HV yet.


----------



## evlowrider (Jul 23, 2009)

Hi Qer,

Has the data stream format from Solition1 changed since v1.0 ?

Cheers,
Pete

www.rad.co.nz


----------



## Qer (May 7, 2008)

evlowrider said:


> Hi Qer,
> 
> Has the data stream format from Solition1 changed since v1.0 ?


Yes, but not drastically so. The UDP-package contained 14 16-bit words (most of them unsigned) in 1.0, in 1.1 it was extended to 16 words and 1.2 has also 16 words but one has a slightly altered function. So this is the complete format:



2 NUL-bytes
Running time (0-59999 ms)
Running time (0-65535 s)
12 Volt supply (see comment below)
Pack voltage (V)
Motor current (A)
Tempreature (C * 10, signed)
Input 3 (see comment below)
Input 2 (-"-)
Input 1 (-"-)
Throttle (A)
CPU-load (divide by 128 for percent)
Pulse width (divide by 10 for percent)
RPM (not that it works very well in 1.0, but it's reported anyway)
Debug word (ie ignore, introduced in 1.1)
Mode (see comment below, introduced in 1.1)

So, some of those values are dumped raw from the internal format rather than converted, that's why they're a bit awkward to use. The actual 12 Volt supply voltage can be calculated by taking the 4:th word, multiply by 0.00025939941 and adding 1. The actual input voltages can be calculated by multiplying by 0.000080645.

The mode word has changed format between 1.1 and 1.2. In 1.1 it only reported errors as a signed byte (high byte was always 0) where negative values indicated errors. In 1.2 the word has been changed to a bit field with the following functions:



15: High motor voltage
14: High motor power
13: High motor temp (snap switch input)
12: Over REV
11: Low pack voltage (or LVC BMS input active)
10: High pack current
9: High voltage high current (ie if pack voltage is above 310 Volt AND motor current hit 900 Ampere)
8: High controller temp (this will ONLY indicate if the current is detoriated due to high temperature, not that the temperature itself is high)
7: Slewrate active
6: Throttle blocked (for example when shifting reverse-forward)
5: (not used)
4-0: Status/error codes

The status/error codes are:



0: Starting up (software initializing etc)
1: Precharge phase (precharge relay active)
2: Engaging contactors (the two contactors are activated sequencially to avoid a too big current rush on 12 Volt)
3: Wating for start signal (if that's enabled as an input)
4: Throttle not in zero position
5: Running
6-20: (not used)
21: Zero voltage after precharge (did you connect that Anderson connector)
22: Pack voltage too low after precharge (might indicate a shorted IGBT)
23: Faulty throttle signal (either unconnected or short circuited)
24: 12 Volt too high
25: 12 Volt too low (a DC/DC is a good thing...)
26: Pack voltage too high (ie above 342 Volt)
27: Pack voltage too low (which probably will only show if you blew a fuse or something)
28: Motor terminals short circuited (or your motor just went up in a plasma ball)
29: Out of memory (I hope to never see this in a log...)
30: Software error (ditto)
31: Controller shut down by user (either in web interface or by turning off ignition)

If you mask the status/error word with 0x1f (or 31, 00000000 00011111 in binary, for those of you that are hexadecimally impaired  ) the codes will be the same in both 1.1 and 1.2.

Please note that there's an extra debug feature in the log format! If the first byte isn't NUL the controller hasn't sent a log package but a clear text NUL-terminated ASCII-string of arbitrary length! Most (all?) of these are removed in 1.2 since the mode bit field satisfy the same need in a more elegant fashion, but it's still worth to make sure the code can handle it if they appear since many versions of the software actually does transmit them every now and then.


----------



## Qer (May 7, 2008)

Finally! Soliton software version 1.2! Not even remotely as huge as 1.1 though:

Bug fixes:



Fixed a web bug that made it impossible to select LVC BMS.

Features:



Added logging of active limits that makes it possible to see why actual motor current isn't the same as throttle demand.
Adaptations for Junior.

So without any further small talk, here it is!


----------



## Tesseract (Sep 27, 2008)

This probably goes without saying, but, well... if you have a Soliton1 you really ought to upgrade to v1.2 of the code. Download it from here for now as who knows what's on the website (it's such a pain to manage that thing we have hired someone to redo it on Drupal or Wordpress or the like).


----------

