Esempio n. 1
0
void LedControl::setSegment(int addr, int digit, byte value) {
    int offset;

    if(addr<0 || addr>=maxDevices)
	return;
    if(digit<0 || digit>7 )
	return;
    offset=addr*8;
    if(reflectMode) {
      reflect(value);                    
    }
    if(upsidedownMode) {
    	upsidedown(value);
    }
    status[offset+digit]=value;
    //spiTransfer(addr, digit+1,value);    
    
        if (anodeMode) {
    	transposeData(addr);
    	for(int i=0;i<8;i++) {
	    spiTransfer(addr, i+1, statusTransposed[offset+i]);
    	}
    } else {
    	spiTransfer(addr, digit+1, value);
    }
}
Esempio n. 2
0
void LedControl::setDigit(int addr, int digit, byte value, boolean dp) {
    int offset;
    byte v;

    if(addr<0 || addr>=maxDevices)
	return;
    if(digit<0 || digit>7 || value>15)
	return;
    offset=addr*8;
    v=charTable[value];
    if(dp)
			v|=B10000000;
    if(reflectMode) {
      //pABCGEFD
      reflect(v);                    
    }
    if(upsidedownMode) {
    	upsidedown(v);
    }
    status[offset+digit]=v;
    if (anodeMode) {
    	//transpose the digit matrix
    	transposeData(addr);
    	//send the entire set of digits
    	for(int i=0;i<8;i++) {
	    spiTransfer(addr, i+1, statusTransposed[offset+i]);
    	}
    } else {
    	spiTransfer(addr, digit+1, v);
    }

}
Esempio n. 3
0
File: 7.c Progetto: ljmocic/PJiSP
int main(){
	char s[MAX];
	printf("Unesite string: ");
	gets(s);
	upsidedown(s,strlen(s));
	printf("%s\n",s);
	return 0;
}
Esempio n. 4
0
void
main(int argc, char *argv[])
{
	Memimage *m;
	int fd, r;
	char f;

	f = 0;
	r = 0;
	fd = 0;
	ARGBEGIN {
	case 'u':
		f = 'u';
		break;
	case 'l':
		f = 'l';
		break;
	case 'r':
		r = atoi(EARGF(usage()));
		break;
	default:
		usage();
	} ARGEND;
	if(*argv){
		fd = open(*argv, OREAD);
		if(fd < 0)
			sysfatal("open: %r");
	}
	memimageinit();
	if((m = readmemimage(fd)) == nil)
		sysfatal("readmemimage: %r");
	if(f == 'u' || f == 'l'){
		m = upsidedown(m);
		if(f == 'l')
			r = 180;
	}
	switch(r % 360){
	case 270:
		m = rot90(m);
	case 180:
		m = rot90(m);
	case 90:
		m = rot90(m);
		break;
	}
	if(writememimage(1, m) < 0)
		sysfatal("writememimage: %r");
	exits(0);
}