Use native LinuxCNC homing and consolidate web panel status
This commit is contained in:
43
wasm-core/tests/sim_native_homing_test.c
Normal file
43
wasm-core/tests/sim_native_homing_test.c
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "sim_native_homing.h"
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
native_home *h = malloc(sim_native_home_size());
|
||||
native_home *other = malloc(sim_native_home_size());
|
||||
double p[12] = {0,0,-1,0,0,0,0,0,-200,200,20,300};
|
||||
double position[5] = {10,20,30,15,45};
|
||||
assert(sim_native_home_init(h,5,.001) == 0);
|
||||
assert(sim_native_home_init(other,5,.001) == 0);
|
||||
for (int j=0;j<5;j++) assert(sim_native_home_config(h,j,p) == 0);
|
||||
assert(sim_native_home_sync(h,position) == 0);
|
||||
assert(sim_native_home_start(h,0,70000) == 0);
|
||||
assert(sim_native_home_get(h,0,7) == 10);
|
||||
assert(sim_native_home_step(h) == 0);
|
||||
assert(sim_native_home_get(h,0,6) == 21);
|
||||
assert(sim_native_home_get(h,0,4) == 1);
|
||||
assert(sim_native_home_get(h,0,5) == 0);
|
||||
assert(sim_native_home_get(h,0,7) == 0);
|
||||
assert(sim_native_home_get(h,0,8) == 10);
|
||||
assert(sim_native_home_get(h,1,7) == 20);
|
||||
for(int i=0;i<10;i++) assert(sim_native_home_step(h) == 0);
|
||||
assert(sim_native_home_get(h,0,5) == 1);
|
||||
assert(sim_native_home_get(other,0,5) == 0);
|
||||
p[1]=5;
|
||||
assert(sim_native_home_config(h,1,p) == 0);
|
||||
assert(sim_native_home_start(h,1,70001) == 0);
|
||||
assert(sim_native_home_step(h) == 0);
|
||||
assert(sim_native_home_get(h,1,7)>0 && sim_native_home_get(h,1,7)<5);
|
||||
for(int i=0;i<2000 && sim_native_home_get(h,0,0);i++) sim_native_home_step(h);
|
||||
assert(fabs(sim_native_home_get(h,1,7)-5)<1e-8);
|
||||
assert(fabs(sim_native_home_get(h,1,8)-25)<1e-8);
|
||||
assert(sim_native_home_start(h,1,70002) == 0);
|
||||
sim_native_home_step(h);
|
||||
assert(sim_native_home_cancel(h,0) == 0);
|
||||
assert(sim_native_home_get(h,1,5) == 0);
|
||||
for (int i=0;i<1000 && sim_native_home_get(h,0,0);i++) sim_native_home_step(h);
|
||||
assert(sim_native_home_get(h,0,0) == 0);
|
||||
free(h); free(other);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user