Cygwin: Enable build of SITL jMAVsim under Windows using the Cygwin Unix-like environment

Most of the incompatitbilities are luckily similar to the darwin build.
- New target OS __PX4_CYGWIN added because in other build environments on Windows defines will very likely be completely different
- added all necessary exeptions to the defines
- disabled priorities completely because on Windows they are defined 1-32 and with all the arbitrary +40 -40 priority settings there were a lot of problems
  not only did some threads/"virtual tasks" not start because of out of bound priorities but also the resulting scheduling was totally random and inadequate
  with default priorities it ran toally fine during my first tests, should be rethought when windows is used onboard in the future
This commit is contained in:
Matthias Grob
2018-01-05 14:47:33 -05:00
committed by Daniel Agar
parent 02c4ec9b2a
commit 70de169f15
13 changed files with 41 additions and 30 deletions
+3 -8
View File
@@ -91,15 +91,10 @@ void print_load(uint64_t t, int fd, struct print_load_s *print_state)
clear_line = CL;
}
#if defined (__PX4_LINUX)
dprintf(fd, "%sTOP NOT IMPLEMENTED ON LINUX\n",
clear_line);
#if defined(__PX4_LINUX) || defined(__PX4_CYGWIN) || defined(__PX4_QURT)
dprintf(fd, "%sTOP NOT IMPLEMENTED ON LINUX, QURT, WINDOWS (ONLY ON NUTTX, APPLE)\n", clear_line);
#elif defined (__PX4_QURT)
dprintf(fd, "%sTOP NOT IMPLEMENTED ON QURT\n",
clear_line);
#elif defined (__PX4_DARWIN)
#elif defined(__PX4_DARWIN)
pid_t pid = getpid(); //-- this is the process id you need info for
task_t task_handle;
task_for_pid(mach_task_self(), pid, &task_handle);