void allign(BowlerPacket * Packet,BYTE_FIFO_STORAGE * fifo){

	int first = 0;
	do
	{
		FifoReadByteStream(Packet->stream,1,fifo);// peak but dont read yet
		if((Packet->use.head.ProtocolRevision != BOWLER_VERSION)){
			if(first==0){
				b_println("bad first byte. Fifo=",INFO_PRINT);  // SPI ISR shits out messages when 0xAA fails to match. making this info.
				p_int(calcByteCount(fifo),INFO_PRINT);
				print_nnl(" [",INFO_PRINT);
			}
			first++;
			print_nnl(" 0x",INFO_PRINT);
			prHEX8(Packet->use.head.ProtocolRevision,INFO_PRINT);
			uint8_t b;
			if(getNumBytes(fifo)==0)
				return;
			//StartCritical();
			FifoGetByte(fifo,& b);// dropping bad byte
			//EndCritical();

		}
	}while(getNumBytes(fifo)>0 && (Packet->use.head.ProtocolRevision != BOWLER_VERSION));
	if(first>0){
		b_println("] ##Junked total:",INFO_PRINT);p_int(first,INFO_PRINT);
	}
}
示例#2
0
METHOD AOBench_write(Ctx *ctx, knh_sfp_t *sfp)
{
    int index = p_int(sfp[1]);
    int value = p_int(sfp[2]);

    img[index] = (unsigned char)value;
    KNH_RETURN_void(ctx, sfp);
}
示例#3
0
文件: stringapi.c 项目: matsuu/konoha
static METHOD knh__String_get(Ctx *ctx, knh_sfp_t *sfp)
{
	knh_bytes_t base = knh_String_tobytes(sfp[0].s);
	if(knh_String_isASCII(sfp[0].s)) {
		size_t n = knh_array_index(ctx, p_int(sfp[1]), knh_String_strlen(sfp[0].s));
		base.buf = base.buf + n;
		base.len = 1;
		KNH_RETURN(ctx, sfp, new_String(ctx, base, sfp[0].s));
	}
	else {
		size_t off = knh_array_index(ctx, p_int(sfp[1]), knh_bytes_mlen(base));
		knh_bytes_t sub = knh_bytes_mofflen(base, off, 1);
		KNH_RETURN(ctx, sfp, new_String(ctx, sub, sfp[0].s));
	}
}
示例#4
0
 void acceptConns(){
   
   int new_socket;
   struct sockaddr client;
   char const *message;
   int i;
         
   puts("Waiting for incoming connections...");
   int cnt = sizeof(struct sockaddr_in);
   while( (new_socket = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&cnt)) ) {
     cmgr->addClient(new_socket);
     message = "Received your connection assigning a handler for you\n";
     write(new_socket , message , strlen(message));         
     
     std::unique_ptr<int> p_int (new int);
     *p_int = new_socket;
     i=threads.size();
     threads.emplace_back(std::thread( connection_handler,std::move(p_int) , i,cmgr));   
     puts("Handler assigned");
   }
  
   if (new_socket<0) {
     perror("accept failed");        
   }      
 } 
示例#5
0
文件: xmlreader.c 项目: matsuu/konoha
/* @method String XmlReader.getAttributeNo(Int numer) */
METHOD XmlReader_getAttributeNo(Ctx *ctx, knh_sfp_t *sfp)
{
    xmlTextReaderPtr reader = (xmlTextReaderPtr) p_cptr(sfp[0]);
    int num = p_int(sfp[1]);
    char* ret = (char*) xmlTextReaderGetAttributeNo(reader,num);
    KNH_RETURN(ctx,sfp,new_String(ctx,B(ret),NULL));
}
示例#6
0
METHOD System_led(Ctx *ctx, knh_sfp_t *sfp)
{
    int v = p_int(sfp[1]);
    int ddl, asize;
    ddl = tk_opn_dev("led_test",TD_UPDATE);
    tk_swri_dev(ddl, DN_LEMode, &v, sizeof(v), &asize);
    KNH_RETURN_void(ctx, sfp);
}
示例#7
0
METHOD System_segLed(Ctx *ctx, knh_sfp_t *sfp)
{
    int x = p_int(sfp[1]);
    int dd, asize;
    dd = tk_opn_dev("led", TD_UPDATE);
    tk_swri_dev(dd, DN_LEDEC, &x, sizeof(x), &asize);
    KNH_RETURN_void(ctx, sfp);
}
示例#8
0
文件: hashapi.c 项目: matsuu/konoha
static METHOD knh__HashMap_new(Ctx *ctx, knh_sfp_t *sfp)
{
	HashMap *o = (HashMap*)sfp[0].o;
	int init = IS_NULL(sfp[1].o) ? KNH_HASH_INITSIZE: p_int(sfp[1]);
	if(init > 0) {
		ctx->share->StructTable[STRUCT_HashMap].finit(ctx, sfp[0].o, init);
	}
	KNH_RETURN(ctx, sfp, o);
}
示例#9
0
文件: vars.c 项目: srijan/ncdc
static char *p_int_ge1(const char *val, GError **err) {
  char *r = p_int(val, err);
  if(r && int_raw(r) < 1) {
    g_set_error_literal(err, 1, 0, "Invalid value.");
    g_free(r);
    return NULL;
  }
  return r;
}
示例#10
0
文件: vars.c 项目: srijan/ncdc
static char *p_int_range(const char *val, int min, int max, const char *msg, GError **err) {
  char *r = p_int(val, err);
  if(r && (int_raw(r) < min || int_raw(r) > max)) {
    g_set_error_literal(err, 1, 0, msg);
    g_free(r);
    return NULL;
  }
  return r;
}
示例#11
0
文件: vars.c 项目: srijan/ncdc
static char *p_minislot_size(const char *val, GError **err) {
  char *r = p_int(val, err);
  int n = r ? int_raw(r) : 0;
  g_free(r);
  if(r && n < 64) {
    g_set_error_literal(err, 1, 0, "Minislot size must be at least 64 KiB.");
    return NULL;
  }
  return r ? g_strdup_printf("%d", MIN(G_MAXINT, n*1024)) : NULL;
}
void printAsyncType(uint8_t t, Print_Level l){
	switch(getBcsIoDataTable(t)->PIN.asyncDataType){
	case AUTOSAMP:
		print_nnl("AUTOSAMP",l);return;
	case NOTEQUAL:
		print_nnl("NOTEQUAL",l);return;
	case DEADBAND:
		print_nnl("DEADBAND",l);return;
	case THRESHHOLD:
		print_nnl("THRESHHOLD",l);return;
	default:
		print_nnl("UNKNOWN: ",l); p_int(t,l);return;
	}
}
示例#13
0
文件: stringapi.c 项目: matsuu/konoha
static METHOD knh__String_opMul(Ctx *ctx, knh_sfp_t *sfp)
{
	knh_intptr_t n = p_int(sfp[1]);
	if(n <= 0) {
		KNH_RETURN(ctx, sfp, TS_EMPTY);
	}else if(n == 1) {
		KNH_RETURN(ctx, sfp, sfp[0].o);
	}
	else {
		knh_bytes_t base = knh_String_tobytes(sfp[0].s);
		knh_cwb_t cwbbuf, *cwb = knh_cwb_open(ctx, &cwbbuf);
		knh_intptr_t i;
		for(i = 0; i < n; i++) {
			knh_Bytes_write(ctx, cwb->ba, base);
		}
		KNH_RETURN(ctx, sfp, knh_cwb_newString(ctx, cwb));
	}
}
示例#14
0
static PyObject *
PyFB_ifstats(PyObject *self)
{
	int mib_ifdata[6] = { CTL_NET, PF_LINK, NETLINK_GENERIC,
			      IFMIB_IFDATA, 0, IFDATA_GENERAL};
	struct ifmibdata ifmd;
	size_t len; 
	int value, i;
	PyObject *r, *d, *t;

	len = sizeof value;
	if (sysctlbyname("net.link.generic.system.ifcount", &value,
			 &len, NULL, 0) < 0)
		return OSERROR();

	r = PyDict_New();

	for (i = 1; i <= value; i++) {
		len = sizeof ifmd;
		mib_ifdata[4] = i;
		if (sysctl(mib_ifdata, 6, &ifmd, &len, NULL, 0) < 0) {
			Py_DECREF(r);
			PyErr_SetFromErrno(PyExc_OSError);
			return Py_None;
		}

		d = PyDict_New();

#define p_long(f)   p(PyLong_FromUnsignedLong, unsigned long, f)
#define p_str(f)    p(PyString_FromString, char *, f)
#define p_int(f)    p(PyInt_FromLong, long, f)

#define p(adoptor, castor, f) \
		t = adoptor((castor)ifmd.ifmd_##f); \
		PyDict_SetItemString(d, #f, t); \
		Py_DECREF(t);
		p_str(name);        p_int(pcount);
		p_int(flags);       p_int(snd_len);
		p_int(snd_maxlen);  p_int(snd_drops);
#undef p

#define p(adoptor, castor, f) \
		t = adoptor((castor)ifmd.ifmd_data.ifi_##f); \
		PyDict_SetItemString(d, #f, t); \
		Py_DECREF(t);
		p_int(type);        p_int(physical);
		p_int(addrlen);     p_int(hdrlen);
		p_int(recvquota);   p_int(xmitquota);
		p_long(mtu);        p_long(metric);
		p_long(baudrate);   p_long(ipackets);
		p_long(ierrors);    p_long(opackets);
		p_long(oerrors);    p_long(collisions);
		p_long(ibytes);     p_long(obytes);
		p_long(imcasts);    p_long(omcasts);
		p_long(iqdrops);    p_long(noproto);
		p_long(hwassist);
#undef p

		PyDict_SetItemString(r, ifmd.ifmd_name, d);
		Py_DECREF(d);
	}

	return r;
}
示例#15
0
文件: math.c 项目: matsuu/konoha
METHOD Math_frexp(Ctx *ctx, knh_sfp_t *sfp)
{
    int exp = p_int(sfp[2]);
    KNH_RETURN_Float(ctx, sfp, frexp(p_double(sfp[1]),&exp));
}
示例#16
0
文件: math.c 项目: matsuu/konoha
METHOD Math_ldexp(Ctx *ctx, knh_sfp_t *sfp)
{
    KNH_RETURN_Float(ctx, sfp, ldexp(p_double(sfp[1]),p_int(sfp[2])));
}