Compare commits
5
Commits
0.2.13
...
3c81f749b8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c81f749b8 | ||
|
|
3c1b1948fd | ||
|
|
3b10509ecd | ||
|
|
b734330d38 | ||
|
|
eb95db1dda |
+3
-2
@@ -18,7 +18,8 @@ set(LIBUSB_INCLUDE_DIR /usr/include/libusb-1.0)
|
||||
set(LIBXML_INCLUDE_DIR /usr/include/libxml2)
|
||||
|
||||
FIND_PACKAGE(Lua)
|
||||
#FIND_PACKAGE(Lua 5.4 REQUIRED EXACT)
|
||||
set(INCLUDE_DIRS ${LUA_INCLUDE_DIR})
|
||||
include_directories(${LUA_INCLUDE_DIR})
|
||||
if(Lua_FOUND AND NOT TARGET Lua::Lua)
|
||||
add_library(Lua::Lua INTERFACE IMPORTED)
|
||||
set_target_properties(
|
||||
@@ -73,7 +74,7 @@ endif()
|
||||
|
||||
message("Using pulseaudio backend...")
|
||||
add_compile_definitions(USE_PULSEAUDIO=true)
|
||||
target_link_libraries(monocoque m hidapi-hidraw pulse serialport xml2 argtable2 config gameloop helper devices slog simulatorapi uv xdg-basedir lua proc2)
|
||||
target_link_libraries(monocoque m hidapi-hidraw pulse serialport xml2 argtable2 config gameloop helper devices slog simulatorapi uv xdg-basedir Lua::Lua proc2)
|
||||
|
||||
target_include_directories(monocoque PUBLIC config ${LIBXML_INCLUDE_DIR} ${LUA_INCLUDE_DIR})
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../../monocoque/simulatorapi/simapi/simapi/simdata.h
|
||||
@@ -140,6 +140,10 @@ int arduino_simhaptic_update(SimDevice* this, SimData* simdata)
|
||||
int result = 1;
|
||||
|
||||
slogt("arduino haptic device updating");
|
||||
serialdevice->u.simhapticdata.motor1 = 0;
|
||||
serialdevice->u.simhapticdata.motor2 = 0;
|
||||
serialdevice->u.simhapticdata.motor3 = 0;
|
||||
serialdevice->u.simhapticdata.motor4 = 0;
|
||||
|
||||
double play = slipeffect(simdata, this->hapticeffect.effecttype, this->hapticeffect.tyre, this->hapticeffect.threshold, this->hapticeffect.useconfig, this->hapticeffect.configcheck, this->hapticeffect.tyrediameterconfig);
|
||||
|
||||
@@ -149,23 +153,25 @@ int arduino_simhaptic_update(SimDevice* this, SimData* simdata)
|
||||
{
|
||||
play = 1.0;
|
||||
}
|
||||
int effectspeed = ceil(255 * play);
|
||||
uint8_t effectspeed = ceil(255 * play);
|
||||
|
||||
int motor = serialdevice->motorsposition;
|
||||
uint8_t motor = serialdevice->motorsposition;
|
||||
|
||||
if (play != serialdevice->state)
|
||||
{
|
||||
// motor 1
|
||||
if (motor == 0 || motor == 4 || motor == 7 || motor == 8 || motor == 10 || motor == 11 || motor == 13 || motor == 14)
|
||||
{
|
||||
serialdevice->u.simhapticdata.effect1 = effectspeed;
|
||||
serialdevice->u.simhapticdata.motor1 = 1;
|
||||
slogt("Updating arduino haptic device with effect type %i speed motor speed %i on motor %i from original effect %f with ampfactor %f", this->hapticeffect.effecttype, serialdevice->u.simhapticdata.effect3, serialdevice->motorsposition, rplay, serialdevice->ampfactor);
|
||||
slogt("Updating arduino haptic device with effect type %i speed motor speed %i on motor %i from original effect %f with ampfactor %f", this->hapticeffect.effecttype, serialdevice->u.simhapticdata.effect1, 1, rplay, serialdevice->ampfactor);
|
||||
}
|
||||
// motor 3
|
||||
if (motor == 2 || motor == 6 || motor == 8 || motor == 9 || motor == 10 || motor == 11 || motor == 12 || motor == 14)
|
||||
{
|
||||
serialdevice->u.simhapticdata.effect3 = effectspeed;
|
||||
serialdevice->u.simhapticdata.motor3 = 1;
|
||||
slogt("Updating arduino haptic device with effect type %i speed motor speed %i on motor %i from original effect %f with ampfactor %f", this->hapticeffect.effecttype, serialdevice->u.simhapticdata.effect3, serialdevice->motorsposition, rplay, serialdevice->ampfactor);
|
||||
slogt("Updating arduino haptic device with effect type %i speed motor speed %i on motor %i from original effect %f with ampfactor %f", this->hapticeffect.effecttype, serialdevice->u.simhapticdata.effect3, 3, rplay, serialdevice->ampfactor);
|
||||
}
|
||||
serialdevice->state = play;
|
||||
}
|
||||
@@ -255,6 +261,10 @@ int serialdev_init(SerialDevice* serialdevice, DeviceSettings* ds, SimInfo* simi
|
||||
{
|
||||
free(serialdevice->m.device_specific_config_file);
|
||||
}
|
||||
if(error > 0)
|
||||
{
|
||||
error = 0;
|
||||
}
|
||||
break;
|
||||
case ARDUINODEV__CUSTOM:
|
||||
serialdevice->m.device_specific_config_file = strdup(ds->specific_config_file);
|
||||
@@ -263,12 +273,24 @@ int serialdev_init(SerialDevice* serialdevice, DeviceSettings* ds, SimInfo* simi
|
||||
{
|
||||
free(serialdevice->m.device_specific_config_file);
|
||||
}
|
||||
if(error > 0)
|
||||
{
|
||||
error = 0;
|
||||
}
|
||||
break;
|
||||
case ARDUINODEV__SIMLED:
|
||||
error = arduino_custom_init(serialdevice, ds->serialdevsettings.portdev, NULL, false);
|
||||
if(error > 0)
|
||||
{
|
||||
error = 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
error = arduino_init(serialdevice, ds->serialdevsettings.portdev);
|
||||
if(error > 0)
|
||||
{
|
||||
error = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -399,7 +421,7 @@ SerialDevice* new_serial_device(DeviceSettings* ds, MonocoqueSettings* ms, SimIn
|
||||
|
||||
if (error != 0)
|
||||
{
|
||||
slogw("Did not initialize usb device due to error code %i", error);
|
||||
slogw("Did not initialize serial device due to error code %i", error);
|
||||
free(this);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -737,6 +737,10 @@ int tester(SimDevice* devices, int numdevices)
|
||||
simdata->tyrediameter[1] = -1;
|
||||
simdata->tyrediameter[2] = -1;
|
||||
simdata->tyrediameter[3] = -1;
|
||||
simdata->tyreslipratio[0] = 0;
|
||||
simdata->tyreslipratio[1] = 0;
|
||||
simdata->tyreslipratio[2] = 0;
|
||||
simdata->tyreslipratio[3] = 0;
|
||||
simdata->Xvelocity = 0;
|
||||
simdata->Yvelocity = 100;
|
||||
simdata->Zvelocity = 0;
|
||||
|
||||
@@ -122,6 +122,8 @@ if ! distrobox list 2>/dev/null | grep -q "$CONTAINER"; then
|
||||
distrobox create \
|
||||
--image docker.io/library/archlinux:latest \
|
||||
--name "$CONTAINER" \
|
||||
--root \
|
||||
--additional-flags "--privileged --security-opt seccomp=unconfined" \
|
||||
--pre-init-hooks "sed -i 's/^SigLevel.*/SigLevel = Never/' /etc/pacman.conf && pacman -Sy --noconfirm archlinux-keyring && pacman-key --init && pacman-key --populate archlinux && sed -i 's/^SigLevel.*/SigLevel = Required DatabaseOptional/' /etc/pacman.conf"
|
||||
log_success "Container '$CONTAINER' created"
|
||||
else
|
||||
@@ -130,7 +132,7 @@ fi
|
||||
|
||||
# Install packages inside the container
|
||||
log_info "Installing packages inside container (this may take a few minutes)..."
|
||||
distrobox enter "$CONTAINER" -- bash -c '
|
||||
distrobox enter --root "$CONTAINER" -- bash -c '
|
||||
set -euo pipefail
|
||||
|
||||
# Install build dependencies
|
||||
@@ -181,19 +183,19 @@ mkdir -p "$BIN_DIR"
|
||||
|
||||
cat > "$BIN_DIR/start-simd" << 'EOF'
|
||||
#!/usr/bin/env bash
|
||||
exec distrobox enter simracing -- simd "$@"
|
||||
exec distrobox enter --root simracing -- simd "$@"
|
||||
EOF
|
||||
chmod +x "$BIN_DIR/start-simd"
|
||||
|
||||
cat > "$BIN_DIR/start-monocoque" << 'EOF'
|
||||
#!/usr/bin/env bash
|
||||
exec distrobox enter simracing -- monocoque play "$@"
|
||||
exec distrobox enter --root simracing -- monocoque play "$@"
|
||||
EOF
|
||||
chmod +x "$BIN_DIR/start-monocoque"
|
||||
|
||||
cat > "$BIN_DIR/test-monocoque" << 'EOF'
|
||||
#!/usr/bin/env bash
|
||||
exec distrobox enter simracing -- monocoque test -vv "$@"
|
||||
exec distrobox enter --root simracing -- monocoque test -vv "$@"
|
||||
EOF
|
||||
chmod +x "$BIN_DIR/test-monocoque"
|
||||
|
||||
|
||||
@@ -72,9 +72,9 @@ if [ -d "$INSTALL_DIR" ]; then
|
||||
fi
|
||||
|
||||
# Remove distrobox container
|
||||
if distrobox list 2>/dev/null | grep -q "$CONTAINER"; then
|
||||
if distrobox list --root 2>/dev/null | grep -q "$CONTAINER"; then
|
||||
log_info "Removing distrobox container '$CONTAINER'..."
|
||||
distrobox rm --force "$CONTAINER"
|
||||
distrobox rm --root --force "$CONTAINER"
|
||||
log_success "Container '$CONTAINER' removed"
|
||||
else
|
||||
log_info "Container '$CONTAINER' not found, skipping"
|
||||
|
||||
Reference in New Issue
Block a user