Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.10 KB | None | 0 0
  1. struct packet {
  2.     unsigned int duration;
  3.     unsigned int count;
  4.     u8 data[DATA_MAX]; // payload
  5. };
  6.  
  7. int rfm12_ask_modulate(struct packet *packet)
  8. {
  9.     unsigned int duration = packet->duration;
  10.     unsigned int count = packet->count;
  11.     u8 *data = packet->data;
  12.     DBG_FMT("got packet:\n  duration: %i\n  count: %i\n  data: %s\n", duration, count, data);
  13.     int i;
  14.     for(;count>0;count--) {
  15.         for(i=0;data[i]!='\0';i++) {
  16.             unsigned int us = duration;
  17.             switch(data[i]) {
  18.                 case '1':
  19.                     DBG("switch on TX\n");
  20.                     rfm12_tx_on();
  21.                     for(;us>0;us--)
  22.                         udelay(1);
  23.                     break;
  24.                 case '0':
  25.                     DBG("switch off TX\n");
  26.                     rfm12_tx_off();
  27.                     for(;us>0;us--)
  28.                         udelay(1);
  29.                     break;
  30.                default:
  31.                     DBG_FMT("MOEP! character <%c> is invalid!\n", data[i]);
  32.                     return -EINVAL;
  33.             }
  34.         }
  35.     }
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement