diff --git a/sim/Makefile b/sim/Makefile index bd5db91..176587b 100644 --- a/sim/Makefile +++ b/sim/Makefile @@ -15,13 +15,14 @@ # You should have received a copy of the GNU General Public License # along with Grbl. If not, see . -PLATFORM = LINUX +PLATFORM = WINDOWS OBJECTS = main.o simulator.o serial.o ../main.o ../protocol.o ../planner.o ../settings.o ../print.o ../nuts_bolts.o eeprom.o ../serial.o avr/pgmspace.o avr/interrupt.o avr/io.o util/delay.o util/floatunsisf.o ../stepper.o ../gcode.o ../spindle_control.o ../motion_control.o ../limits.o ../report.o ../coolant_control.o ../probe.o ../system.o platform_$(PLATFORM).o CLOCK = 16000000 EXE_NAME = grbl_sim.exe COMPILE = $(CC) -Wall -g -DF_CPU=$(CLOCK) -include config.h -I. -DPLAT_$(PLATFORM) LINUX_LIBRARIES = -lrt -pthread +WINDOWS_LIBRARIES = # symbolic targets: all: main @@ -32,7 +33,7 @@ clean: # file targets: main: $(OBJECTS) - $(COMPILE) -o $(EXE_NAME) $(OBJECTS) -lm -lrt $($(PLATFORM)_LIBRARIES) + $(COMPILE) -o $(EXE_NAME) $(OBJECTS) -lm $($(PLATFORM)_LIBRARIES) %.o: %.c $(COMPILE) -c $< -o $@ diff --git a/sim/platform_WINDOWS.c b/sim/platform_WINDOWS.c index 27fc2d5..d3f448e 100644 --- a/sim/platform_WINDOWS.c +++ b/sim/platform_WINDOWS.c @@ -14,7 +14,7 @@ double ns_per_perfcount; void platform_init() { __int64 counts_per_sec; - QueryPerformanceFrequency((LARGE_INTEGER*)&countsPerSec); + QueryPerformanceFrequency((LARGE_INTEGER*)&counts_per_sec); ns_per_perfcount = (float)NS_PER_SEC / counts_per_sec; } @@ -46,7 +46,7 @@ void platform_sleep(long microsec) //create a thread plat_thread_t* platform_start_thread(plat_threadfunc_t threadfunc) { plat_thread_t* th = malloc(sizeof(plat_thread_t)); - th->tid = CreateThread(NULL,0,threadfunc,&th->exit,0); + th->tid = CreateThread(NULL,0,threadfunc,&th->exit,0,NULL); if (!th->tid){ free(th); return NULL; @@ -63,10 +63,13 @@ void platform_stop_thread(plat_thread_t* th){ //force-kill thread void platform_kill_thread(plat_thread_t* th){ th->exit = 1; - TerminateThread(th->tid); + TerminateThread(th->tid, 0); } //return char if one available. uint8_t platform_poll_stdin() { - return _kbhit(); + if (_kbhit()) { + return getch(); + } + return 0; }