mdjarv / assettocorsasharedmemory

Assetto Corsa Shared Memory library written in C#
MIT License
113 stars 34 forks source link

Question: does this library allows for reading the locking status of the wheel, or ABS status ? #10

Open AnnoyingTechnology opened 6 years ago

AnnoyingTechnology commented 6 years ago

Hello,

I'm working on an arduino FFB for brake pedals and currently I'm stuck not being able to get a signal out of AC for when the wheels lock, or when the ABS is triggered. Does this library allows to read that information ?

Thank you.

cv256 commented 6 years ago

Hi ! as far as I know Assetto Corsa's SharedMemory does not give info about the ABS... there's a property called ABS but it has the same value (a decimal number) all the time, even when in game you can see that ABS has just done its work. The same applies to TC. Years ago I tried to get more info on this but noone replied. You can get ABS info using Assetto Corsa's UDP interface: https://docs.google.com/document/d/1KfkZiIluXZ6mMhLWfDX1qAGbvhGRC3ZUzjVIt5FQpp4/pub

I am also building a full car simulator (it's 90% complete now, but allready tons of fun!), using arduino, shared memory, powerfull motors, hairdryers... and everything is shared, I would be so happy if this would inspire others to build their simulators: https://github.com/cv256/CVJoy (check ti out, tell me something)

BTW, your idea of shaking the pedals when the wheels block is very good, gonna make it too ;-) This library give's you info about how much slip is happening on each wheel, for example. On my 'car' I light a red led when the front wheels loose traction, and a blue led for the rear wheels.

AnnoyingTechnology commented 6 years ago

Oh great, thanks for all the info !

So apparently I should be able to get where I want, either using this library and doing some comparison between the rotational speed of each wheel, or either by using the "UDP Interface". The fact that that information is made available by AC in a way and not the other sound very strange to me though.

Here are pictures of the ABS feedback module that I did if you're interested (It's cheap, very quick to respond and fairly strong) ffb ffb2 ffb3

The general sim looks like that https://imgur.com/2wYYFV2 https://imgur.com/nWAvW2a https://imgur.com/JsEcZoA https://imgur.com/cZUzAJE

cv256 commented 6 years ago

WOW, your setup is Extreme TOP+ ! Thanks for the photos. That ABS is simple and efective. Try using Physics.WheelSlip, there's one for each wheel, use the minimum or the average. In fact WheelSlip=1 means your wheel is well attached to the ground, zero means zero adherence. You can also check the Physics.Brake property to know how much the driver is braking.

I attached a strong motor to the back of my seat, and it rotates a balast based on the property Physics.AccG(1), wich represents the vertical acceleration of our car. So, when my car jumps I feel a kick in my back. And 2 hairdryers in front of me, controled by Physics.SpeedKmh, sometimes I really need a helmet to protect my eyes.

If there are more ideias we can exchange, don't hesitate. Drive safely 😄 and fast

AnnoyingTechnology commented 6 years ago

Aha, I like the hairdryer idea :-) I thought about it but as I don't drive "naked/F1" cars I didn't go thru with it. Thanks for the new details, it helps a lot. I'll try to get this working this weekend !

corygrant commented 1 year ago

@AnnoyingTechnology @cv256 ABS properties were added in newer versions of SM, they've been added in https://github.com/mdjarv/assettocorsasharedmemory/pull/15