Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
97bb921
1.DrawPoint function must be in GameThread.
obitodaitu May 16, 2025
9082e40
Fixed duplicate indexes for annotation system causing meshes to not s…
WouterJansen Jul 1, 2025
d5031c4
Updated for WIP changes
WouterJansen Jul 1, 2025
26c6160
updated version numbering to match changelog and other versioning sys…
WouterJansen Jul 1, 2025
43932d3
Rename extracted blocks directory to LinuxBlocks
WouterJansen Oct 3, 2025
74d6b95
Update build script command for Linux packaging
WouterJansen Oct 3, 2025
3fd355d
Update Unreal Engine build instructions
WouterJansen Oct 3, 2025
d472104
Change base image to dev-slim version
WouterJansen Oct 3, 2025
4861565
Update base image to dev-slim-5.6.1
WouterJansen Oct 3, 2025
6469c48
Update AirSim docker image builder script
WouterJansen Oct 3, 2025
6750fc1
Refactor Docker image building logic
WouterJansen Oct 3, 2025
b0c2585
Update docker_ubuntu.md
WouterJansen Oct 3, 2025
9fa0414
Clarify plugin copying requirement for Blocks environment
WouterJansen Oct 3, 2025
1962376
Remove unnecessary flags from build command
WouterJansen Oct 3, 2025
c9519e2
Update InitialInstanceSegmentation and remove annotations
WouterJansen Oct 3, 2025
3d1c4a8
Update script paths for Blocks binary creation
WouterJansen Oct 3, 2025
9ff4f31
Add files via upload
WouterJansen Oct 3, 2025
398fdcf
Merge branch '5.5dev' of https://github.com/Cos
WouterJansen Oct 3, 2025
109aade
Update base image version in Dockerfile
WouterJansen Oct 3, 2025
c5870d4
Update Dockerfile_source
WouterJansen Oct 3, 2025
58b9089
Update base image version in build script
WouterJansen Oct 3, 2025
9f5b37a
Update download script to use Blocks_packaged_Linux_55_33
WouterJansen Oct 3, 2025
c4fe557
Update download link for Blocks packaged zip
WouterJansen Oct 3, 2025
8c5fe6e
Change Docker image version references to 5.5.4
WouterJansen Oct 3, 2025
5fcd397
Merge branch '5.5dev'
WouterJansen Oct 3, 2025
7994f8a
fixed typos
WouterJansen Oct 3, 2025
3831a50
Merge branch '5.5dev'
WouterJansen Oct 3, 2025
bb15e2c
Update publication reference in README
WouterJansen Jan 14, 2026
fbaa339
1.Improved the performance of AirSim in multi machine (i7-12700KF>20)…
Mar 12, 2026
e7e7ed3
Merge branch 'main' of https://github.com/obitodaitu/Cosys-AirSim
Mar 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AirLib/AirLib.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>include;deps\eigen3;deps\rpclib\include;$(ProjectDir)..\MavLinkCom\include</AdditionalIncludeDirectories>
<TreatWarningAsError>true</TreatWarningAsError>
<TreatWarningAsError>false</TreatWarningAsError>
<AdditionalOptions>/w34263 /w34266 %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4100;4505;4820;4464;4514;4710;4571;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<LanguageStandard>stdcpp20</LanguageStandard>
Expand Down Expand Up @@ -424,7 +424,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>include;deps\eigen3;deps\rpclib\include;$(ProjectDir)..\MavLinkCom\include</AdditionalIncludeDirectories>
<TreatWarningAsError>true</TreatWarningAsError>
<TreatWarningAsError>false</TreatWarningAsError>
<AdditionalOptions>/w34263 /w34266 %(AdditionalOptions)</AdditionalOptions>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
Expand Down
7 changes: 5 additions & 2 deletions AirLib/include/common/CancelToken.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <atomic>
#include "common/Common.hpp"
#include "common/common_utils/Utils.hpp"
#include "common/common_utils/AdvanceSleep.h"

namespace msr
{
Expand Down Expand Up @@ -47,7 +48,7 @@ namespace airlib
if (isCancelled()) {
return false;
}

#if SLEEP_MODE == 0
TTimePoint start = ClockFactory::get()->nowNanos();
static constexpr std::chrono::duration<double> MinSleepDuration(0);

Expand All @@ -56,7 +57,9 @@ namespace airlib

std::this_thread::sleep_for(MinSleepDuration);
}

#else
advanceSleep(secs * 1.0E3);
#endif
return !isCancelled();
}

Expand Down
7 changes: 5 additions & 2 deletions AirLib/include/common/ClockBase.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include <thread>
#include <chrono>
#include "Common.hpp"

#include "common/common_utils/AdvanceSleep.h"
namespace msr
{
namespace airlib
Expand Down Expand Up @@ -73,12 +73,15 @@ namespace airlib
{
if (dt <= 0)
return;

#if SLEEP_MODE == 0
static constexpr std::chrono::duration<double> MinSleepDuration(0);
TTimePoint start = nowNanos();
//spin wait
while (elapsedSince(start) < dt)
std::this_thread::sleep_for(MinSleepDuration);
#else
advanceSleep(dt * 1e3);
#endif
}

double getTrueScaleWrtWallClock()
Expand Down
47 changes: 47 additions & 0 deletions AirLib/include/common/common_utils/AdvanceSleep.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#ifndef SLEEP_MODE
#define SLEEP_MODE 1
#endif
#if SLEEP_MODE != 0
#ifndef ADVANCE_SLEEP
#define ADVANCE_SLEEP
#include <chrono>
#include <future>
#include <thread>
#include <queue>
double nowMs();
void advanceSleep(double ms);
#if SLEEP_MODE == 1
#ifndef __cpp_lib_atomic_is_always_lock_free
#define __cpp_lib_atomic_is_always_lock_free 0
#endif
#include "atomic_queue/atomic_queue.h"
namespace advance_sleep
{
class Event
{
public:
double wakeUpTimeMs;
std::promise<void> p;
};
struct CompareEvent
{
bool operator()(advance_sleep::Event* a, advance_sleep::Event* b)
{
return a->wakeUpTimeMs > b->wakeUpTimeMs;
}
};
extern atomic_queue::AtomicQueueB<
advance_sleep::Event*,
std::allocator<Event*>,
(Event*)NULL,
false,
false,
false>
eventQueue;
extern volatile bool busySpinQuit;
extern std::priority_queue<advance_sleep::Event*, std::vector<advance_sleep::Event*>, advance_sleep::CompareEvent> pq;
void busySpin();
}
#endif
#endif
#endif
7 changes: 5 additions & 2 deletions AirLib/include/common/common_utils/ScheduledExecutor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include <system_error>
#include <mutex>
#include <cstdint>

#include "AdvanceSleep.h"
namespace common_utils
{

Expand Down Expand Up @@ -158,7 +158,7 @@ class ScheduledExecutor
probbaly does spin loop anyway.

*/

#if SLEEP_MODE == 0
if (delay_nanos >= 5000000LL) { //put thread to sleep
std::this_thread::sleep_for(std::chrono::duration<double>(delay_nanos / 1.0E9));
}
Expand All @@ -169,6 +169,9 @@ class ScheduledExecutor
//std::this_thread::sleep_for(std::chrono::duration<double>(0));
}
}
#else
advanceSleep(delay_nanos / 1.0E6);
#endif
}

void executorLoop()
Expand Down
Loading