Apps Download removed [Deleted]

Status
Not open for further replies.
Assetto corsa never gave the data in realtime sadly, the crewchief app should give the realtime data, make sure it's installed.

Thankyou for all the explanations about the code. Now I understand it better. As regard Assetto Corsa, I had no idea about this limitation. If I activate the race essentials info, I can see my race position and it updates normally. Can't Simhub read that info? If I install Crew Chief, is there a way for Simhub to obtatin the race position and display it on my dashboard? Or should I definetelly remove this item from my layout?
 
Last edited:
Hi, I found, be out of intensity.
The VCC was at the output of the max7921.
My project advances ...




Thanks for your availability! WP_20171001_007.jpg WP_20171001_003.jpg
 
Thankyou for all the explanations about the code. Now I understand it better. As regard Assetto Corsa, I had no idea about this limitation. If I activate the race essentials info, I can see my race position and it updates normally. Can't Simhub read that info? If I install Crew Chief, is there a way for Simhub to obtatin the race position and display it on my dashboard? Or should I definetelly remove this item from my layout?
You just have to install and activate the CC plugin, see the "install instructions" for AC, SimHub detects when when it's installed and enhance the data with it, so the race position become realtime. Look in C:\Program Files (x86)\SimHub\_Addons\GamePlugins\assettocorsa\
 
You should provide more examples of Ncal scripts on the tutorial page. They would be very helpful for newbies or dumb people like me who are terrible with programming.

For instance, following your examples and learning from the scripts on other dashboards, I've finally be able to do some things such as:

The fuel value in Dirt Rally will have a fake value of 30 instead of the default 0. It seems that the game is outputting data for Fuel, so it's not null, but always 0.

if([DataCorePlugin.CurrentGame]='CodemastersDirtRally','30',[DataCorePlugin.GameData.NewData.Fuel])


The low fuel icon (active when it's less than 5) in Dirt Rally would always be visible (orange icon over a grey icon) because the reported fuel is 0, so I make a script for the "visible" field:

[DataCorePlugin.CurrentGame]!='CodemastersDirtRally' and [DataCorePlugin.GameData.NewData.Fuel]<5
 
Last edited:
You should provide more examples of Ncal scripts on the tutorial page. They would be very helpful for newbies or dumb people like me who are terrible with programming.

For instance, following your examples and learning from the scripts on other dashboards, I've finally be able to do some things such as:

The fuel value in Dirt Rally will have a fake value of 30 instead of the default 0. It seems that the game is outputting data for Fuel, so it's not null, but always 0.

if([DataCorePlugin.CurrentGame]='CodemastersDirtRally','30',[DataCorePlugin.GameData.NewData.Fuel])


The low fuel icon (active when it's less than 5) in Dirt Rally would always be visible (orange icon over a grey icon) because the reported fuel is 0, so I make a script for the "visible" field:

[DataCorePlugin.CurrentGame]!='CodemastersDirtRally' and [DataCorePlugin.GameData.NewData.Fuel]<5

yeah I agree I've started to do some documentation, but it's so hard to target the good use cases, and I was victim of the fact the NCALC despite being a good "simple" language for guy used to developments or style sheets formula (ncalc is really close to what you would use in excel formulas),it was lacking a lot of samples about the language by itself.

That's why I made the move on JS language, it's much more widespread, documented, with a lot more possibilities, and there are literally millions of samples/docs/howto on this one :D
 
One more question:

Now, I have another dashboard with a fuel value that blinks below 5. How can I combine both conditions? I know it's with "and", but how is the synthax exactly? I mean, the result should be: if the game is Dirt Rally, the fuel value will be 30, otherwise, it will be real and it will blink below 5. Thanx.

if(blink('fblinker',500,[DataCorePlugin.GameData.NewData.Fuel]<5),'',[DataCorePlugin.GameData.NewData.Fuel])

if([DataCorePlugin.CurrentGame]='CodemastersDirtRally','30',[DataCorePlugin.GameData.NewData.Fuel])
 
One more question:

Now, I have another dashboard with a fuel value that blinks below 5. How can I combine both conditions? I know it's with "and", but how exactly? I mean, the result should be: if the game is Dirt Rally, the fuel value will be 30, otherwise, it will be real and it will blink below 5. Thanx.

if(blink('fblinker',500,[DataCorePlugin.GameData.NewData.Fuel]<5),'',[DataCorePlugin.GameData.NewData.Fuel])

if([DataCorePlugin.CurrentGame]='CodemastersDirtRally','30',[DataCorePlugin.GameData.NewData.Fuel])

Hum, you are close, in fact you need to put instead of fuel in the second your first formula
Code:
if([DataCorePlugin.CurrentGame]='CodemastersDirtRally','30',if(blink('fblinker',500,[DataCorePlugin.GameData.NewData.Fuel]<5),'',[DataCorePlugin.GameData.NewData.Fuel]))
The trick is to "read it"
Code:
if the current game is "CodemastersDirtRally",
then
    return 30
else
   if I must blink because fuel is < 5
        return ''
   else
        return the current fuel

Edit : Here is the JS version, it makes things much more understandable :
Code:
var currentGame = $prop("DataCorePlugin.CurrentGame");
var currentFuel = $prop("DataCorePlugin.GameData.NewData.Fuel");

if(currentGame == "CodemastersDirtRally"){
   return 30;
}else{
    if(blink('fblinker',500,currentFuel<5)){
        return '';
    }else{
        return currentFuel;
    }
}
 
Last edited:
I have copied the CrewChiefEx folder to D:\Assetto Corsa\apps\python and I can see the plugin detected by the game under ui controls and it's enabled. However, I don't see any difference when I go racing. Maybe it's not working because I can see that the race position is not updated on the bar on the bottom of the screen with the names of the racers (I don't remember if that bar is ever updated or if it indicates the race position). However, if I activate the "essentials" or the "race position" icons, I can see the info on screen and it's updated with my race position. Obviously, it's not updated on my dashboard display. Do I have to change the value [DataCorePlugin.GameData.NewData.Position]?
 
Wotever updated SimHub, DIY Sim racing Dash with a new update entry:

5.4.7

What's new ?
  • Swapped ETS2 plugin to Funbit plugin, please make sure to update your ETS/ATS plugins and remove the old one !
  • ETS2 map now rotates
  • MSI After burner plugin :
    • You can grab all your graphic card vital signs
    • Get the ingame FPS
  • New Sample dash based on motec :
    7kjoIWF.gif
  • New System Info template for Nextion 4.3 :
    View attachment 214474
  • New dash studio snap grid
  • Arduino boost gauge :
    • ...

Read the rest of this update entry...
 
@Wotever Sorry for the dumb question, you hinted this great piece of software will evolve further in something else, can you explain me what is the plan?
Hum, I think you mixed up with shake it ;)
Shakeit is indeed at the end of the life in it's current form, and will respawn as a SimHub plugin.
Concerning Simhub it's not a mutation but more expansion that i'm planning. I want to give more attraction even out of game, that's the purpose of my last Nextion template which is dedicated to System info. I also wan't to expand to more "non sim racing games", I have by the way a My Summer Car reader cooking up ;)
I also want to create more sample content. Like the last "motec like" template.
So no worry, Simhub is keeping it's straight line ;)
 
Cool! Now my lap position in Assetto Corsa works. I don't know if I have to thank the new version you have just released or that I have changed the line to max([DataCorePlugin.GameData.NewData.Position],1), which I don't know what it means. Thank you.

PD: Ctrl Z for undo in Dash Studio still not works here.
 
Cool! Now my lap position in Assetto Corsa works. I don't know if I have to thank the new version you have just released or that I have changed the line to max([DataCorePlugin.GameData.NewData.Position],1), which I don't know what it means. Thank you.

PD: Ctrl Z for undo in Dash Studio still not works here.
Yeah I need to re implement undo, old one was slowing down everything, and eating memory as fast as I drink coffee :D
 
I won't bother you anymore (for today haha), I promise, but I have one more question for an idea I have: in rFactor 2 you can configure it to start with your car completelly off, so you have to press ignition and starter. Starting the engine can be detected with [DataCorePlugin.GameData.NewData.Rpms]==0 but is there a way to detect that the battery is off? My idea is that the whole dashboard is black until you start the ignition. If this is possible, how would you do it: create a rule of visibility for every element on the layout, or create a black square covering the whole display and apply the rule to it?
 
Hello Wotever,

About my tablet periodic disconnect after a game pause/job select/..., does the following snippet from log file indicate anything abnormal to you?

Code:
[2017-09-29 20:35:45,782] INFO - EventTriggered : DataCorePlugin.GameStopped
[2017-09-29 20:36:17,496] INFO - EventTriggered : DataCorePlugin.GameStarted
[2017-09-29 20:36:17,496] INFO - EventTriggered : DataCorePlugin.PitOut
[2017-09-29 20:36:41,161] ERROR - First chance exception errorSystem.Net.Sockets.SocketException (0x80004005): Une adresse incompatible avec le protocole demandé a été utilisée [2610:20:6f15:15::27]:123
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[2017-09-29 20:36:41,672] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:36:43,947] ERROR - First chance exception errorSystem.Net.Sockets.SocketException (0x80004005): Une adresse incompatible avec le protocole demandé a été utilisée [2610:20:6f15:15::27]:123
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[2017-09-29 20:36:44,445] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:36:44,939] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:41:02,497] INFO - EventTriggered : DataCorePlugin.GameStopped
[2017-09-29 20:41:21,525] ERROR - First chance exception errorSystem.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[2017-09-29 20:41:21,528] ERROR - First chance exception errorSystem.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Owin.WebSocket.Handlers.OwinWebSocket.<ReceiveMessage>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[2017-09-29 20:41:21,532] INFO - Web client disconnected : 39548c28-bc39-4a40-babd-bdf79e52d87f
[2017-09-29 20:41:36,841] INFO - EventTriggered : DataCorePlugin.GameStarted
[2017-09-29 20:41:36,841] INFO - EventTriggered : DataCorePlugin.PitOut
[2017-09-29 20:41:41,144] ERROR - First chance exception errorSystem.Net.Sockets.SocketException (0x80004005): Une adresse incompatible avec le protocole demandé a été utilisée [2610:20:6f15:15::27]:123
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[2017-09-29 20:41:41,684] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:41:43,960] ERROR - First chance exception errorSystem.Net.Sockets.SocketException (0x80004005): Une adresse incompatible avec le protocole demandé a été utilisée [2610:20:6f15:15::27]:123
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[2017-09-29 20:41:44,457] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:41:44,958] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)

Thanks (and kudos for the latest version :rolleyes:)
 
Hum, I think you mixed up with shake it ;)
Shakeit is indeed at the end of the life in it's current form, and will respawn as a SimHub plugin.
Concerning Simhub it's not a mutation but more expansion that i'm planning. I want to give more attraction even out of game, that's the purpose of my last Nextion template which is dedicated to System info. I also wan't to expand to more "non sim racing games", I have by the way a My Summer Car reader cooking up ;)
I also want to create more sample content. Like the last "motec like" template.
So no worry, Simhub is keeping it's straight line ;)
No prob at all, If I remember correctly you planned to add button box too?
Would be great to build a main body with button box where to plug 7" monitor, rumble motors and analog handbrake ;)
 
No prob at all, If I remember correctly you planned to add button box too?
Would be great to build a main body with button box where to plug 7" monitor, rumble motors and analog handbrake ;)
Yeah indeed, it's in progress, for now i'm fighting with it, I got some progress, but still far from a working result :(
 
Hello Wotever,

About my tablet periodic disconnect after a game pause/job select/..., does the following snippet from log file indicate anything abnormal to you?

Code:
[2017-09-29 20:35:45,782] INFO - EventTriggered : DataCorePlugin.GameStopped
[2017-09-29 20:36:17,496] INFO - EventTriggered : DataCorePlugin.GameStarted
[2017-09-29 20:36:17,496] INFO - EventTriggered : DataCorePlugin.PitOut
[2017-09-29 20:36:41,161] ERROR - First chance exception errorSystem.Net.Sockets.SocketException (0x80004005): Une adresse incompatible avec le protocole demandé a été utilisée [2610:20:6f15:15::27]:123
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[2017-09-29 20:36:41,672] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:36:43,947] ERROR - First chance exception errorSystem.Net.Sockets.SocketException (0x80004005): Une adresse incompatible avec le protocole demandé a été utilisée [2610:20:6f15:15::27]:123
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[2017-09-29 20:36:44,445] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:36:44,939] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:41:02,497] INFO - EventTriggered : DataCorePlugin.GameStopped
[2017-09-29 20:41:21,525] ERROR - First chance exception errorSystem.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[2017-09-29 20:41:21,528] ERROR - First chance exception errorSystem.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Owin.WebSocket.Handlers.OwinWebSocket.<ReceiveMessage>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[2017-09-29 20:41:21,532] INFO - Web client disconnected : 39548c28-bc39-4a40-babd-bdf79e52d87f
[2017-09-29 20:41:36,841] INFO - EventTriggered : DataCorePlugin.GameStarted
[2017-09-29 20:41:36,841] INFO - EventTriggered : DataCorePlugin.PitOut
[2017-09-29 20:41:41,144] ERROR - First chance exception errorSystem.Net.Sockets.SocketException (0x80004005): Une adresse incompatible avec le protocole demandé a été utilisée [2610:20:6f15:15::27]:123
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[2017-09-29 20:41:41,684] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:41:43,960] ERROR - First chance exception errorSystem.Net.Sockets.SocketException (0x80004005): Une adresse incompatible avec le protocole demandé a été utilisée [2610:20:6f15:15::27]:123
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
[2017-09-29 20:41:44,457] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
[2017-09-29 20:41:44,958] ERROR - First chance exception errorSystem.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)

Thanks (and kudos for the latest version :rolleyes:)

Hum, the "owin" stack is indeed in relation with the dash, it's the websocket connection which sends the data to the browser, I can see that the game is starting, and the websocket is unresponsive when it tries to send again the data (absolutely nothing is sent when you are in pause mode.) I'm thinking about changing the library or maybe the loop mode to avoid pause suspended mode. I'll keep you in touch. I pretty sure it's related to the mobile browser itself, but I hope changing this working mode will at least prevent falling into this case.
 
Status
Not open for further replies.

Latest News

Do you prefer licensed hardware?

  • Yes for me it is vital

  • Yes, but only if it's a manufacturer I like

  • Yes, but only if the price is right

  • No, a generic wheel is fine

  • No, I would be ok with a replica


Results are only viewable after voting.
Back
Top