Advertisement
Guest User

Untitled

a guest
Sep 25th, 2015
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.84 KB | None | 0 0
  1.     typedef union __attribute__((packed)){
  2.       struct __attribute__((packed)) {
  3.         uint8_t             : 1;
  4.         uint8_t sw2         : 3;
  5.         uint8_t             : 1;
  6.         uint8_t sw4         : 3;
  7.  
  8.         uint8_t sw10_r      : 1;
  9.         uint8_t sw1         : 3;
  10.         uint8_t             : 1;
  11.         uint8_t sw3         : 3;
  12.  
  13.         uint8_t sw10        : 4;
  14.         uint8_t sw11_r      : 1;
  15.         uint8_t sw6_r       : 1;
  16.         uint8_t sw5_r       : 1;
  17.         uint8_t sw12_r      : 1;
  18.  
  19.         uint8_t sw5         : 4;
  20.         uint8_t sw12        : 4;
  21.  
  22.         uint8_t sw11        : 4;
  23.         uint8_t sw6         : 4;
  24.  
  25.         uint8_t PSEN1       : 1;   // U18 on SMORF5 board
  26.         uint8_t PSEN2       : 1;
  27.         uint8_t SW1         : 1;
  28.         uint8_t ATT1        : 1;
  29.         uint8_t SW2         : 1;
  30.         uint8_t ATT2        : 1;
  31.         uint8_t LIM         : 1;
  32.         uint8_t VHFGATE     : 1;
  33.       };
  34.       struct __attribute__((packed)) {
  35.         uint8_t             : 1;  // H
  36.         uint8_t sw2_1       : 1;  // G
  37.         uint8_t sw2_2       : 1;  // F
  38.         uint8_t sw2_3       : 1;  // E
  39.         uint8_t             : 1;  // D
  40.         uint8_t sw4_1       : 1;  // C
  41.         uint8_t sw4_2       : 1;  // B
  42.         uint8_t sw4_3       : 1;  // A
  43.  
  44.         uint8_t sw10_x      : 1;  // - init 1
  45.         uint8_t sw1_1       : 1;
  46.         uint8_t sw1_2       : 1;
  47.         uint8_t sw1_3       : 1;
  48.         uint8_t             : 1;
  49.         uint8_t sw3_1       : 1;
  50.         uint8_t sw3_2       : 1;
  51.         uint8_t sw3_3       : 1;
  52.  
  53.         uint8_t sw10_2      : 1;
  54.         uint8_t sw10_3      : 1;
  55.         uint8_t sw10_5      : 1;
  56.         uint8_t sw10_6      : 1;
  57.         uint8_t sw11_x      : 1;  // - init 1
  58.         uint8_t sw6_x       : 1;  // - init 1
  59.         uint8_t sw5_x       : 1;  // - init 1
  60.         uint8_t sw12_x      : 1;  // - init 1
  61.  
  62.         uint8_t sw5_2       : 1;
  63.         uint8_t sw5_3       : 1;
  64.         uint8_t sw5_5       : 1;
  65.         uint8_t sw5_6       : 1;
  66.         uint8_t sw12_2      : 1;
  67.         uint8_t sw12_3      : 1;
  68.         uint8_t sw12_5      : 1;
  69.         uint8_t sw12_6      : 1;
  70.  
  71.         uint8_t sw11_2      : 1;
  72.         uint8_t sw11_3      : 1;
  73.         uint8_t sw11_5      : 1;
  74.         uint8_t sw11_6      : 1;
  75.         uint8_t sw6_2       : 1;
  76.         uint8_t sw6_3       : 1;
  77.         uint8_t sw6_5       : 1;
  78.         uint8_t sw6_6       : 1;
  79.  
  80.         uint8_t             : 8;
  81.       };
  82.       struct __attribute__((packed)) {
  83.         uint8_t external[5];
  84.         uint8_t internal;
  85.       };
  86.       uint8_t all[6];  // placeholder
  87.     } T_SMORF_595;
  88.  
  89. const T_SMORF_595 smorf595Init = {
  90.       .PSEN1 = 1,
  91.       .PSEN2 = 1,
  92.       .LIM = 1,
  93.       .sw5_x = 1,
  94.       .sw6_x = 1,
  95.       .sw10_x = 1,
  96.       .sw11_x = 1,
  97.       .sw12_x = 1,
  98. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement