Exemple #1
0
void main() {

	char *df = "/dev/input/js0";
	struct ps3ctls ps3dat;

	wiringPiSetup();
	mcp23017Setup (BASE, 0x20) ;
	softPwmCreate(100,0,100); // GP100 start-0 10ms
	softPwmCreate(101,0,100); // GP101 start-0 10ms

	if(!(ps3c_init(&ps3dat, df))) {

		do {
			if (ps3c_test(&ps3dat) < 0) break;
		} while (!(ps3c_input(&ps3dat)));
		
		ps3c_exit(&ps3dat);		
	}
}
Exemple #2
0
int main(void)
{
	int distance0;
	wiringPiSetup();
	wiringPiISR(0, INT_EDGE_BOTH, &Interrupt0);
	for(;;)
	{
		if(sonar0_stop_time > sonar0_start_time){
			sonar0_time = sonar0_stop_time - sonar0_start_time;
		}

		distance0 = sonar0_time/58;
		//printf("start_ime = %d\n",start_time);
		//printf("stop_ime = %d\n",stop_time);
		//printf("time = %d\n",time);
	    printf("distance0 = %d\n",distance0);
		delay(500);
	}
}
Exemple #3
0
int main ()
{
    int fd ;
      int count ;
        unsigned int nextTime ;

          if ((fd = serialOpen ("/dev/ttyAMA0", 115200)) < 0)
              {
                    fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ;
                        return 1 ;
                          }

            if (wiringPiSetup () == -1)
                {
                      fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ;
                          return 1 ;
                            }

              nextTime = millis () + 300 ;

                for (count = 0 ; count < 256 ; )
                    {
                          if (millis () > nextTime)
                                {
                                        printf ("\nOut: %3d: ", count) ;
                                              fflush (stdout) ;
                                                    serialPutchar (fd, count) ;
                                                          nextTime += 300 ;
                                                                ++count ;
                                                                    }

                              delay (3) ;

                                  while (serialDataAvail (fd))
                                        {
                                                printf (" -> %3d", serialGetchar (fd)) ;
                                                      fflush (stdout) ;
                                                          }
                                    }

                  printf ("\n") ;
                    return 0 ;
}
void setup(){
  printf("%s", "Raspberry Startup!\n");
  fflush(stdout);

  //get filedescriptor
  if ((fd = serialOpen (device, baud)) < 0){
    fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ;
    exit(1); //error
  }

  //setup GPIO in wiringPi mode 
  if (wiringPiSetup () == -1){
    fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ;
    exit(1); //error
  }

  //pass the filedescriptor to the Protocol
  Protocol.setSerial(fd);
}
Exemple #5
0
int main (void)
{
	wiringPiSetup();
	pinMode (0, OUTPUT);
	int i=0;
	for(i=0; i < 10; i++)
{
	digitalWrite(0, HIGH);
	delay(300);
	digitalWrite(2, HIGH);
	delay(500);

	digitalWrite(0, LOW);
	delay(300);
	digitalWrite(2, LOW);
	delay(500);
}
return 0;
}// end of main
Exemple #6
0
RS485::RS485()
{
  io = wiringPiSetup();
  if(io == -1)
  {
    printf("failed to start wiringpi\n");
    return;
  }

  dev = serialOpen("/dev/ttyAMA0", 115200);
  if(dev == -1)
  {
    printf("failed to start wiringpi serial\n");
    return;
  }

  pinMode(DIRPIN, OUTPUT);
  digitalWrite(DIRPIN, DIR_READ);
}
int main(int argc, char **argv)
{
	ros::init(argc, argv, "talker");

	ros::NodeHandle n;

	ros::Publisher pub = n.advertise<pi_rotary_encoder::ParamUpdate>("parameter_update", 1000);

	ros::Rate loop_rate(10);

	//int r = wiringPiSetup(); 
	
	int r = wiringPiSetup();
	revokeRoot();
	printf("setup: %d\n", r);
	// wiringPiSetup requires sudo, wiringPiSetupSys requires you add this to your /etc/rc.local:
	//
	// for example, to use pin 23 as an input:
	//
	// gpio export 23 in
	// 
	struct encoder *encoder = setupencoder(4,5);
	long value;

	while (ros::ok())
	{
		updateEncoders();
		long l = encoder->value;
		if (l!=value)
		{
			printf("value: %d\n", (void *)l);
			value = l;
			pi_rotary_encoder::ParamUpdate msg;
			msg.parameter = "shutter_speed";
			msg.value = value*10;
			pub.publish(msg);
		}
		ros::spinOnce();
		loop_rate.sleep();
	}
	
}
Exemple #8
0
// -------------------------------------------------------------------------
// main
int main(void) {
    FILE* devnull = NULL;
    static char errorBuffer[CURL_ERROR_SIZE+1];

    curl_global_init(CURL_GLOBAL_ALL);
    multihandle = curl_multi_init();
    easyhandle = curl_easy_init();

    //curl_easy_setopt(easyhandle, CURLOPT_URL, url);
    curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, "");
    curl_easy_setopt(easyhandle, CURLOPT_USERAGENT, NAME " " VERSION );
    curl_easy_setopt(easyhandle, CURLOPT_WRITEDATA, devnull);
    curl_easy_setopt(easyhandle, CURLOPT_ERRORBUFFER, errorBuffer);

    curl_multi_add_handle(multihandle, easyhandle);


    // sets up the wiringPi library
    if (wiringPiSetup () < 0) {
        fprintf (stderr, "Unable to setup wiringPi: %s\n", strerror (errno));
        return 1;
    }

    if ( wiringPiISR (PIN, INT_EDGE_RISING, &myInterrupt) < 0 ) {
        fprintf (stderr, "Unable to setup ISR: %s\n", strerror (errno));
        return 1;
    }

    // display counter value every second.
    while ( 1 ) {
      printf( "%d Events, last: %s\n", eventCounter, url );
      FILE *fp = fopen ("/tmp/s0Events", "w");
      fprintf(fp, "%d", eventCounter);
      fclose(fp);

      eventCounter = 0;
      delay( 10000 ); // wait 10 second
    }

    curl_global_cleanup();
    return 0;
}
Exemple #9
0
int main (void)
{
  int gotOne, pin ;
  int myCounter [8] ;

  for (pin = 0 ; pin < 8 ; ++pin) 
    globalCounter [pin] = myCounter [pin] = 0 ;

  wiringPiSetup () ;

  wiringPiISR (0, INT_EDGE_FALLING, &myInterrupt0) ;
  wiringPiISR (1, INT_EDGE_FALLING, &myInterrupt1) ;
  wiringPiISR (2, INT_EDGE_FALLING, &myInterrupt2) ;
  wiringPiISR (3, INT_EDGE_FALLING, &myInterrupt3) ;
  //wiringPiISR (4, INT_EDGE_FALLING, &myInterrupt4) ;
  //wiringPiISR (5, INT_EDGE_FALLING, &myInterrupt5) ;
  //wiringPiISR (6, INT_EDGE_FALLING, &myInterrupt6) ;
  //wiringPiISR (7, INT_EDGE_FALLING, &myInterrupt7) ;

  for (;;)
  {
    gotOne = 0 ;
    printf ("Waiting ... ") ; fflush (stdout) ;

    for (;;)
    {
      for (pin = 0 ; pin < 4 ; ++pin)
      {
	if (globalCounter [pin] != myCounter [pin])
	{
	  printf (" Int on pin %d: Counter: %5d\n", pin, globalCounter [pin]) ;
	  myCounter [pin] = globalCounter [pin] ;
	  ++gotOne ;
	}
      }
      if (gotOne != 0)
	break ;
    }
  }

  return 0 ;
}
Exemple #10
0
static long init_record(lcdoutRecord *pstrout)
{
  struct Pin_Info *pin_info = malloc(sizeof(struct Pin_Info));

  if(wiringPiSetup() == -1)
    return 1;

  int rows = 2;
  int cols = 16;
  int bits = 4;
  int rs = 4;
  int strb = 5;
  int data[8] = {0,1,2,3,0,0,0,0};

  char *para = pstrout->out.value.instio.string;
  rows = atoi(strtok(para, " "));
  cols = atoi(strtok(NULL, " "));
  bits = atoi(strtok(NULL, " "));
  rs = atoi(strtok(NULL, " "));
  strb = atoi(strtok(NULL, " "));

  pinMode(rs, OUTPUT);
  pinMode(strb, OUTPUT);

  int i;
  for(i=0; i<bits; i++)
  {
    data[i] = atoi(strtok(NULL, " "));
    pinMode(data[i], OUTPUT);
  }

  int handle = -1;

  handle = lcdInit(rows,cols,bits,rs,strb,data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7]);

  pin_info->bits = bits;
  pin_info->handle = handle;

  pstrout->dpvt = pin_info;

  return 0;
}
int main(void)  
{  
	int i;  

	if(wiringPiSetup() == -1){      //When wiringPi initialize failed, print message to screen  
		printf("setup wiringPi failed !\n");  
		return 1;   
	}  

	ledInit();  

	while(1){  
		for(i = 0; i < sizeof(colors)/sizeof(int); i++){  
			ledColorSet(colors[i]);  
			delay(500);  
		}  
	}  

	return 0;  
}  
Exemple #12
0
int main(void)
{
	wiringPiSetup();

	cRCreceiver my_RC;
	std::pair<int, int> vel(0,0);
	int rot = 0;

	cPWMBoard my_PWM;

	while(1)
	{
		delay(500);

		vel = my_RC.getInputMovementSpeed();
		rot = my_RC.getInputRotationSpeed();

		
	}
}
Exemple #13
0
int main (void)
{
    int i;
    wiringPiSetup();
    mcp23017Setup(100, 0x20);
    printf ("PiPiano-buttons!\n") ;
    for (i = 0 ; i < 13 ; ++i) {
        pinMode (100+i, INPUT);
        pullUpDnControl (100+i, PUD_UP);
    }
    for (;;) {
        printf("\nButtons pressed: ");
        for (i = 0 ; i < 13 ; ++i) {
            if (!digitalRead(100+i)) {
                printf("%d ",i);
            }
        }
    }
    return 0;
}
Exemple #14
0
int main()
{
    if (wiringPiSetup() == -1) {
        printf("Failed setting up wiringPi.\n");
        return 1;
    }

    pinMode(LedPin, OUTPUT);

    signal(SIGINT, intHandler);

    while (run) {
        v1_frequency = rand() % 0xffff;
        status();
        update();
        delay(100);
    }

    return 0;
}
Exemple #15
0
int main (void)
{
	printf("Starting demo\n");
	fflush(stdout);

	if (wiringPiSetup () == -1)
		return 1;

	pinMode(BTN, INPUT);
	pinMode(TRIG, OUTPUT);
	pinMode(ECHO, INPUT);

	digitalWrite(TRIG, LOW);

	wiringPiISR(BTN, INT_EDGE_RISING, &btnHandler);
	wiringPiISR(ECHO, INT_EDGE_RISING, &echoStartHandler);
	wiringPiISR(ECHO, INT_EDGE_FALLING, &echoEndHandler);

	while(1);
}
int main(void)
{
	if(wiringPiSetup() == -1){ //when initialize wiringPi failed, print message to screen
		printf("setup wiringPi failed !\n");
		return -1; 
	}
	
	pinMode(LedPin, OUTPUT);

	while(1){
		digitalWrite(LedPin, LOW);   //led on
		printf("led on...\n");
		delay(500);
		digitalWrite(LedPin, HIGH);  //led off
		printf("...led off\n");
		delay(500);
	}

	return 0;
}
int main(void){
	int value;
	if(wiringPiSetup() == -1){ //when initialize wiring failed,print messageto screen
		printf("setup wiringPi failed !");
		return 1; 
	}
	pinMode(enablePin,OUTPUT);//set mode for the pin
	pinMode(motorPin1,OUTPUT);
	pinMode(motorPin2,OUTPUT);
	softPwmCreate(enablePin,0,100);//define PMW pin
	pcf8591Setup(pinbase,address);//initialize PCF8591
	
	while(1){
		value = analogRead(A0);  //read A0 pin
		printf("ADC value : %d \n",value);
		motor(value);		//start the motor
		delay(100);
	}
	return 0;
}
int main(void)
{
	if(wiringPiSetup() == -1){ //when initialize wiring failed,print messageto screen
		printf("setup wiringPi failed !");
		return 1; 
	}
	
	pinMode(KnockPin, INPUT);
	pinMode(LedPin,  OUTPUT);

	while(1){
		if(digitalRead(KnockPin) == LOW){
			printf("Detected knocking!\n");
			//digitalWrite(LedPin, LOW);     //led on
			digitalWrite(LedPin, !digitalRead(LedPin));     //led on
		}
	}

	return 0;
}
int main(int argc, char *argv[]) {

    // This pin is not the first pin on the RPi GPIO header!
    // Consult https://projects.drogon.net/raspberry-pi/wiringpi/pins/
    // for more information.
    int PIN = 0;

    // Parse the firt parameter to this command as an integer
    int code = atoi(argv[1]);

    if (wiringPiSetup () == -1) return 1;
	printf("sending code[%i]\n", code);
	RCSwitch mySwitch = RCSwitch();
      //Pulse length depends on the RF outlets you are using. Use RFSniffer to see what pulse length your device uses.
	mySwitch.setPulseLength(185);
	mySwitch.enableTransmit(PIN);
    	mySwitch.send(code, 24);
	return 0;

     }
Exemple #20
0
int main(void)
{
	if(wiringPiSetup() < 0){
		fprintf(stderr, "Unable to setup wiringPi:%s\n",strerror(errno));
		return 1;
	}

	pinMode(RoAPin, INPUT);
	pinMode(RoBPin, INPUT);
	pinMode(RoSPin, INPUT);

	pullUpDnControl(RoSPin, PUD_UP);

	while(1){
		rotaryDeal();
		rotaryClear();
	}

	return 0;
}
Exemple #21
0
/* 
int dht11_read_val(){
  uint8_t lststate=HIGH;
  uint8_t counter=0;
  uint8_t j=0,i;
  for(i=0;i<5;i++)
     dht11_val[i]=0;
  pinMode(DHT11PIN,OUTPUT);
  digitalWrite(DHT11PIN,LOW);
  delay(18);
  digitalWrite(DHT11PIN,HIGH);
  delayMicroseconds(40);
  pinMode(DHT11PIN,INPUT);
  for(i=0;i<MAX_TIME;i++)  {
    counter=0;
    while(digitalRead(DHT11PIN)==lststate){
      counter++;
      delayMicroseconds(1);
      if(counter==255)
        break;
    }
    lststate=digitalRead(DHT11PIN);
    if(counter==255)
       break;
    // top 3 transistions are ignored
    if((i>=4)&&(i%2==0)){
      dht11_val[j/8]<<=1;
      if(counter>16)
        dht11_val[j/8]|=1;
      j++;
    }
  }
  // verify checksum and print the verified data
  if((j>=40)&&(dht11_val[4]==((dht11_val[0]+dht11_val[1]+dht11_val[2]+dht11_val[3])& 0xFF)))
  {
    printf("%d.%d,%d.%d\n",dht11_val[0],dht11_val[1],dht11_val[2],dht11_val[3]);
    return 1;
  }
  else
    return 0;
}
 */
int main(void) {
  int attempts=ATTEMPTS;
  char * r=0;
  if(wiringPiSetup()==-1)
    exit(1);
  while(attempts)  {
    r=val();
    printf("%s\n", r);
    delay(1000);
    //int success = dht11_read_val();
    if (r[0]!='e') {
      break;
    }
    delay(1000);
    attempts--;
    //delay(500);
  }
  free(r);
  return 0;
}
Exemple #22
0
int main (void){
int x;
int chan;

wiringPiSetup();
mcp3004Setup(BASE,SPI_CHAN);
printf("Monitor ADC \n");
	while (1==1){
	for (chan=0;chan<8;chan++){
		x=analogRead(BASE + chan);
		printf("%d \t", x);
	}
	printf("\n");
	delay(500);

	}


return 0;
}
int main(void)
{
	if(wiringPiSetup() == -1){ //when initialize wiring failed,print messageto screen
		printf("setup wiringPi failed !");
		return 1; 
	}
	
	pinMode(LedPin, OUTPUT); 
	pinMode(ButtonPin, INPUT);

	pullUpDnControl(ButtonPin, PUD_UP);  //pull up to 3.3V,make GPIO1 a stable level
	while(1){
		digitalWrite(LedPin, HIGH);
		if(digitalRead(ButtonPin) == 0){ //indicate that button has pressed down
			digitalWrite(LedPin, LOW);   //led on
		}
	}

	return 0;
}
Exemple #24
0
//Init the ISR, and register the callback
int init (callback_t callback)
{
    int pin;
    int myCounter [NUM_GATES];

    for (pin = 0 ; pin < NUM_GATES ; ++pin) {
        runningDiff [pin] = myCounter [pin] = 0 ;
        gettimeofday(&lastTime[pin], NULL);
    }

    wiringPiSetup () ;

    add_callback(callback);

    wiringPiISR (0, INT_EDGE_RISING, &myInterrupt0);
    pullUpDnControl (0, PUD_UP);
    pullUpDnControl (2, PUD_UP);

    return 0;
}
Exemple #25
0
int main(void)
{
	if(wiringPiSetup() == -1)
		return 1;

	pinMode(PIR, INPUT);

	for(;;)
	{
		if(digitalRead(PIR) == 0)
		{
			//printf("Not Detection\n");
			delay(1000);
		} else {
			printf("Deteced!!\n");
			delay(1000);
		}
	}
	return 0;
}
int main(int argc, char *argv[]) {

    /*
     output PIN is hardcoded for testing purposes
     see https://projects.drogon.net/raspberry-pi/wiringpi/pins/
     for pin mapping of the raspberry pi GPIO connector
     */

    int PIN = 0;
    unsigned long RCcode = atol(argv[1]);
    unsigned int RClength = atoi(argv[2]);

    if (wiringPiSetup () == -1) return 1;
    printf("Sending RCcode[%lu] RClength[%i]\n", RCcode, RClength);
    RCSwitch mySwitch = RCSwitch();
    mySwitch.enableTransmit(PIN);
    mySwitch.send(RCcode, RClength);

    return 0;
}
Exemple #27
0
int main (void) {
  if (wiringPiSetup () == -1)
    return 1 ;

  pinMode (GPIO1, OUTPUT);
  pinMode (GPIO2, OUTPUT);
  pinMode (GPIO3, OUTPUT);

  for (;;) {
    digitalWrite (GPIO1, HIGH) ; // On
    digitalWrite (GPIO2, HIGH) ; // On
    digitalWrite (GPIO3, HIGH) ; // On
    delay (1000) ; // ms
    digitalWrite (GPIO1, LOW) ; // Off
    digitalWrite (GPIO2, LOW) ; // Off
    digitalWrite (GPIO3, LOW) ; // Off
    delay (1000) ;
  }
  return 0 ;
}
Exemple #28
0
int main(int argc, char *argv[]) {

    // This pin is not the first pin on the RPi GPIO header!
    // Consult https://projects.drogon.net/raspberry-pi/wiringpi/pins/
    // for more information.
    int PIN = 7;

    // Parse the firt parameter to this command as an integer
    int code = atoi(argv[1]);

    if (wiringPiSetup () == -1) return 1;
    printf("sending code[%i]\n", code);
    RCSwitch mySwitch = RCSwitch();
    mySwitch.setPulseLength(189);
      
    mySwitch.send(code, 24);

	return 0;

}
int main(int argc, char *argv[]) {
    
    /*
     output PIN is hardcoded for testing purposes
     see https://projects.drogon.net/raspberry-pi/wiringpi/pins/
     for pin mapping of the raspberry pi GPIO connector
     */
    int PIN = 0;
    char* tristate = argv[1];
    
    if (wiringPiSetup () == -1) return 1;
	printf("sending tristate[%s] \n", tristate);
	RCSwitch mySwitch = RCSwitch();
	mySwitch.enableTransmit(PIN);
    mySwitch.setPulseLength(360);

    mySwitch.sendTriState(tristate);

	return 0;
}
int init(int* gps, struct termios* options, GPSValue* gpsAry1, GPSValue* gpsAry2) {
	if((*gps = open(DEVICE, O_RDWR | O_NOCTTY)) < 0) {
		perror("uart serial port open error");
		return -1;
	}

	tcgetattr(*gps, options);
	options->c_cflag = B9600 | CS8 | CLOCAL | CREAD;
	options->c_iflag = IGNPAR;
	options->c_oflag = 0;
	options->c_lflag = 0;
	tcflush(*gps, TCIFLUSH);
	tcsetattr(*gps, TCSANOW, options);

	wiringPiSetup();
	pinMode(LED_RED, OUTPUT);
	pinMode(LED_GREEN, OUTPUT);

	return 0;
}