int main() { slog_init(NULL, 18); int count = 5; int ret; struct aura_node *n = aura_open("dummy", NULL); aura_wait_status(n, AURA_STATUS_ONLINE); struct aura_buffer *retbuf; const struct aura_object *o; aura_enable_sync_events(n, 5); while (count--) { ret = aura_get_next_event(n, &o, &retbuf); slog(0, SLOG_DEBUG, "evt get ret %d", ret); aura_hexdump("Out buffer", retbuf->data, retbuf->size); aura_buffer_release(retbuf); } aura_close(n); return 0; }
/*** Close node. This function will block until the node's been closed and freed @function aura.close @tparam node node An open node to close */ static int l_close_node(lua_State *L) { struct laura_node *lnode = lua_fetch_node(L, -1); struct aura_node *node = lnode->node; TRACE(); /* Handle weird cases when we've already cleaned up */ if (!node) return 0; /* Clear up references we've set up so far*/ if (lnode->refs & REF_NODE_CONTAINER) luaL_unref(L, LUA_REGISTRYINDEX, lnode->node_container); if (lnode->refs & REF_STATUS_CB) { luaL_unref(L, LUA_REGISTRYINDEX, lnode->status_changed_ref); luaL_unref(L, LUA_REGISTRYINDEX, lnode->status_changed_arg_ref); } /* * if (lnode->refs & REF_ETABLE_CB) { * luaL_unref(L, LUA_REGISTRYINDEX, lnode->etable_changed_ref); * luaL_unref(L, LUA_REGISTRYINDEX, lnode->etable_changed_arg_ref); * } */ aura_close(node); lnode->node = NULL; return 0; }
int main() { int ret; int i; int passed = 0; int failed = 0; slog_init(NULL, 0); struct aura_node *n = aura_open("simpleusb", "../simpleusbconfigs/susb-test.conf"); if (!n) { printf("err\n"); return -1; } i = 100; while (i--) { printf("Testing %d remaining\r", i); fflush(stdout); aura_wait_status(n, AURA_STATUS_ONLINE); struct aura_buffer *retbuf; ret = aura_call(n, "led_ctl", &retbuf, 0x100, 0x100); if (0 == ret) { aura_buffer_release(retbuf); passed++; } else failed++; } aura_close(n); printf("Stability test (no data): %d succeeded, %d failed total %d\n", passed, failed, passed + failed); return failed; }
int main() { slog_init(NULL, 0); int num_runs = 5; #ifdef AURA_USE_BUFFER_POOL printf("Buffer pool enabled!"); #else printf("Buffer pool disabled!"); #endif struct aura_node *n = aura_open(TRANSPORT, NULL); printf("+GC -PREHEAT\n"); aura_unhandled_evt_cb(n, unhandled_cb, (void *) 0); average_aggregate(n, run_first, num_runs, "call test"); // average_aggregate(n, run_second, num_runs, "alloc/dealloc test"); aura_close(n); n = aura_open(TRANSPORT, NULL); printf("+GC +PREHEAT\n"); aura_unhandled_evt_cb(n, unhandled_cb, (void *) 0); aura_bufferpool_preheat(n, 512, 10); average_aggregate(n, run_first, num_runs, "call test"); // average_aggregate(n, run_second, num_runs, "alloc/dealloc test"); aura_close(n); n = aura_open(TRANSPORT, NULL); printf("-GC -PREHEAT\n"); aura_unhandled_evt_cb(n, unhandled_cb, (void *) 0); n->gc_threshold = -1; average_aggregate(n, run_first, num_runs, "call test"); // average_aggregate(n, run_second, num_runs, "alloc/dealloc test"); aura_close(n); return 0; }
int main() { slog_init(NULL, 18); int ret; struct aura_node *n = aura_open("dummy", NULL); struct aura_buffer *retbuf; ret = aura_call(n, "echo_u16", &retbuf, 0x0102); slog(0, SLOG_DEBUG, "call ret %d", ret); aura_hexdump("Out buffer", retbuf->data, retbuf->size); aura_buffer_release(n, retbuf); aura_close(n); return 0; }
int main() { slog_init(NULL, 18); int ret; struct aura_node *n = aura_open("dummy", NULL); ret = aura_start_call_raw(n, 2, calldonecb, (void *) ARG, 0x0102); printf("call started with ret %d\n", ret); ret = aura_set_event_callback_raw(n, 5, pingcb, (void *) ARG2); printf("event handler set with ret %d\n", ret); aura_handle_events_forever(aura_eventloop_get_data(n)); printf("Closing the shop..."); aura_close(n); return 0; }
int main() { slog_init(NULL, 18); int ret; struct aura_node *n = aura_open("dummy", NULL); aura_wait_status(n, AURA_STATUS_ONLINE); ret = aura_start_call(n, "echo_u16", calldonecb, (void *) ARG, 0x0102); printf("call started with ret %d\n", ret); if (ret !=0) return ret; ret = aura_set_event_callback(n, "ping", pingcb, (void *) ARG2); printf("event handler set with ret %d\n", ret); aura_eventloop_dispatch(aura_node_eventloop_get(n), 0); printf("Closing the shop..."); aura_close(n); return 0; }
int main() { int ret; int i = 2; slog_init(NULL, 88); struct aura_node *n = aura_open("simpleusb", "./simpleusbconfigs/pw-ctl.conf"); if (!n) { printf("err\n"); return -1; } aura_wait_status(n, AURA_STATUS_ONLINE); struct aura_buffer *retbuf; ret = aura_call(n, "bit_set", &retbuf, 12<<8 | 1, 1); slog(0, SLOG_DEBUG, "call ret %d", ret); if (0 == ret) { printf("====> buf pos %d len %d\n", retbuf->pos, retbuf->size); aura_buffer_release(n, retbuf); } int v = 1; while(1) { v = !v; printf("<=================>\n"); ret = aura_call(n, "bit_set", &retbuf, 12<<8, v); slog(0, SLOG_DEBUG, "call ret %d", ret); if (0 == ret) { printf("====> buf pos %d len %d\n", retbuf->pos, retbuf->size); aura_buffer_release(n, retbuf); } else { aura_wait_status(n, AURA_STATUS_ONLINE); i--; if (!i) goto bailout; } sleep(1); } bailout: aura_close(n); return 0; }
int main() { slog_init(NULL, 18); struct aura_node *n = aura_open("nmc", "./aura-test.abs"); if (!n) { slog(0, SLOG_ERROR, "Failed to open node"); exit(1); } aura_wait_status(n, AURA_STATUS_ONLINE); test_u32(n); test_u64(n); test_u32u32(n); test_bin(n); test_buf(n); aura_close(n); return 0; }
int main() { slog_init(NULL, 18); int ret; struct aura_node *n = aura_open("dummy", NULL); struct aura_buffer *retbuf; struct aura_buffer *iobuf = aura_buffer_request(n, 80); ret = aura_call(n, "echo_buf", &retbuf, iobuf); slog(0, SLOG_DEBUG, "call ret %d", ret); if (ret) BUG(n, "call failed"); struct aura_buffer *tmp = aura_buffer_get_buf(retbuf); if (tmp != iobuf) BUG(n, "test not ok"); aura_buffer_release(n, retbuf); aura_buffer_release(n, tmp); aura_close(n); return 0; }
int main() { printf("START-%s\n", aura_get_version()); slog_init(NULL, 0); sleep(1); int ret; n = aura_open("nmc", "./rpc-demo.abs"); if (!n) { printf("ERROR:Failed to open node\n"); slog (0, SLOG_ERROR, "Failed to open node"); exit(1); } printf("START-1\n"); aura_wait_status(n, AURA_STATUS_ONLINE); printf("START-2\n"); static signed char src0_8s[256] , src1_8s[256]; static signed short src0_16s[256], src1_16s[256]; static signed int src0_32s[2*2048], src1_32s[256]; static long long src0_64s[256], src1_64s[256]; static signed char dst_8s[256]; signed short dst_16s[256]; signed int dst_32s[2*2048]; signed long long dst_64s[256]; int i=0; for(i=0; i<256; i++){ src0_8s[i] =i; src0_16s[i]=i; src0_32s[i]=i; src0_64s[i]=i; src1_8s[i] =8-i; src1_16s[i]=8-i; src1_32s[i]=8-i; src1_64s[i]=8-i; } unsigned crc=-1; nmppsRShiftC_8s ((nm8s* )src0_8s ,1,(nm8s* )dst_8s ,16); nmppsCrcAcc_8s (dst_8s, 8, &crc); nmppsRShiftC_16s((nm16s*)src0_16s,1,(nm16s*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsRShiftC_32s((nm32s*)src0_32s,1,(nm32s*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsRShiftC_64s((nm64s*)src0_64s,1,(nm64s*)dst_64s,16); nmppsCrcAcc_64s(dst_64s,16,&crc); nmppsRShiftC_8u ((nm8u* )src0_8s ,1,(nm8u* )dst_8s ,16); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsRShiftC_16u((nm16u*)src0_16s,1,(nm16u*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsRShiftC_32u((nm32u*)src0_32s,1,(nm32u*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsRShiftC_64u((nm64u*)src0_64s,1,(nm64u*)dst_64s,16); nmppsCrcAcc_64s(dst_64s,16,&crc); nmppsAndC_8u((nm8u*) src0_8s, 5, (nm8s*) dst_8s,16); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsAndC_16u((nm16u*)src0_16s,5,(nm16u*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsAndC_32u((nm32u*)src0_32s,5,(nm32u*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsAndC_64u((nm64u*)src0_64s,5,(nm64u*)dst_64s,16); nmppsCrcAcc_64s(dst_64s,16,&crc); nmppsOrC_8u ((nm8u*)src0_8s,1, (nm8s*) dst_8s,16); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsOrC_16u((nm16u*)src0_16s,1,(nm16u*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsOrC_32u((nm32u*)src0_32s,1,(nm32u*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsOrC_64u((nm64u*)src0_64s,1,(nm64u*)dst_64s,32); nmppsCrcAcc_64s(dst_64s,32,&crc); nmppsXorC_8u((nm8u*) src0_8s,1, (nm8s*) dst_8s,16); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsXorC_16u((nm16u*)src0_16s,1,(nm16u*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsXorC_32u((nm32u*)src0_32s,1,(nm32u*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsXorC_64u((nm64u*)src0_64s,1,(nm64u*)dst_64s,32); nmppsCrcAcc_64s(dst_64s,32,&crc); nmppsNot_8u ((nm8u* )src0_8s, (nm8s* )dst_8s ,16); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsNot_16u((nm16u*)src0_16s,(nm16s*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsNot_32u((nm32u*)src0_32s,(nm32s*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsNot_64u((nm64u*)src0_64s,(nm64s*)dst_64s,16); nmppsCrcAcc_64s(dst_64s,16,&crc); nmppsAnd_8u ((nm8u*) src0_8s, (nm8u*) src1_8s, (nm8s*) dst_8s,16); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsAnd_16u((nm16u*)src0_16s,(nm16u*)src1_16s,(nm16u*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsAnd_32u((nm32u*)src0_32s,(nm32u*)src1_32s,(nm32u*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsAnd_64u((nm64u*)src0_64s,(nm64u*)src1_64s,(nm64u*)dst_64s,32); nmppsCrcAcc_64s(dst_64s,32,&crc); nmppsOr_8u ((nm8u*) src0_8s, (nm8u*) src1_8s, (nm8s*) dst_8s,16); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsOr_16u((nm16u*)src0_16s,(nm16u*)src1_16s,(nm16u*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsOr_32u((nm32u*)src0_32s,(nm32u*)src1_32s,(nm32u*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsOr_64u((nm64u*)src0_64s,(nm64u*)src1_64s,(nm64u*)dst_64s,32); nmppsCrcAcc_64s(dst_64s,32,&crc); nmppsXor_8u ((nm8u*) src0_8s, (nm8u*) src1_8s, (nm8s*) dst_8s,16); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsXor_16u((nm16u*)src0_16s,(nm16u*)src1_16s,(nm16u*)dst_16s,16); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsXor_32u((nm32u*)src0_32s,(nm32u*)src1_32s,(nm32u*)dst_32s,16); nmppsCrcAcc_32s(dst_32s,16,&crc); nmppsXor_64u((nm64u*)src0_64s,(nm64u*)src1_64s,(nm64u*)dst_64s,32); nmppsCrcAcc_64s(dst_64s,32,&crc); nmppsCmpLtC_8s8um ((nm8s*) src0_8s ,1,(nm8u*)dst_8s,16,0); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsCmpLtC_16s8um((nm16s*)src0_16s,1,(nm8u*)dst_8s,16,0); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsCmpLtC_32s8um((nm32s*)src0_32s,1,(nm8u*)dst_8s,16,0); nmppsCrcAcc_32s(dst_32s,16,&crc); // nmppsCmpLtC_64s8um((nm64s*)src0_32s,1,(nm8u*)dst_8s,16,0); //nmppsCrcAcc_64s(dst_64s,16,&crc); // nmppsCmpNeC_8s8um ((nm8s*) src0_8s ,1,(nm8u*)dst_8s,16,0); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsCmpNeC_16s8um((nm16s*)src0_16s,1,(nm8u*)dst_8s,16,0); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsCmpNeC_32s8um((nm32s*)src0_32s,1,(nm8u*)dst_8s,16,0); nmppsCrcAcc_32s(dst_32s,16,&crc); // nmppsCmpNeC_64s8um((nm64s*)src0_64s,1,(nm8u*)dst_8s,16,0); //nmppsCrcAcc_64s(dst_64s,64,&crc); nmppsCmpNe_8s8um ((nm8s*) src0_8s , (nm8s*) src1_8s ,(nm8u*)dst_8s, 16, 0); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsCmpNe_16s8um ((nm16s*)src0_16s, (nm16s*)src1_16s,(nm8u*)dst_8s, 16, 0); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsCmpNe_32s8um ((nm32s*)src0_32s, (nm32s*)src1_32s,(nm8u*)dst_8s, 16, 0); nmppsCrcAcc_32s(dst_32s,16,&crc); // nmppsCmpNe_64s8um ((nm64s*)src0_64s, (nm64s*)src1_64s,(nm8u*)dst_8s, 16, 0); //nmppsCrcAcc_64s(dst_64s,16,&crc); //for(i=0; i<16; i++) dst_8s[i]=-1; nmppsCmpLt_8s8um ((nm8s*) src0_8s , (nm8s*) src1_8s ,(nm8u*)dst_8s, 16, 0); nmppsCrcAcc_8s (dst_8s, 16,&crc); nmppsCmpLt_16s8um ((nm16s*)src0_16s, (nm16s*)src1_16s,(nm8u*)dst_8s, 16, 0); nmppsCrcAcc_16s(dst_16s,16,&crc); nmppsCmpLt_32s8um ((nm32s*)src0_32s, (nm32s*)src1_32s,(nm8u*)dst_8s, 16, 0); nmppsCrcAcc_32s(dst_32s,16,&crc); // nmppsCmpLt_64s8um ((nm64s*)src0_32s, (nm64s*)src1_32s,(nm8u*)dst_8s, 16, 0); //nmppsCrcAcc_64s(dst_64s,16,&crc); aura_close(n); slog (0, SLOG_INFO, "Finished"); printf("CRC=%x\n",crc); return crc-0xc354a8e4;; }