Exemple #1
0
void t8()
{
   int v, t, i;

   printf("Bank read/write tests.\n");

   gpio_write(GPIO, 0);
   v = read_bank_1() & (1<<GPIO);
   CHECK(8, 1, v, 0, 0, "read bank 1");

   gpio_write(GPIO, 1);
   v = read_bank_1() & (1<<GPIO);
   CHECK(8, 2, v, (1<<GPIO), 0, "read bank 1");

   clear_bank_1(1<<GPIO);
   v = gpio_read(GPIO);
   CHECK(8, 3, v, 0, 0, "clear bank 1");

   set_bank_1(1<<GPIO);
   v = gpio_read(GPIO);
   CHECK(8, 4, v, 1, 0, "set bank 1");

   t = 0;
   v = (1<<16);
   for (i=0; i<100; i++)
   {
      if (read_bank_2() & v) t++;
   };
   CHECK(8, 5, t, 60, 75, "read bank 2");

   v = clear_bank_2(0);
   CHECK(8, 6, v, 0, 0, "clear bank 2");

   v = clear_bank_2(0xffffff);
   CHECK(8, 7, v, PI_SOME_PERMITTED, 0, "clear bank 2");

   v = set_bank_2(0);
   CHECK(8, 8, v, 0, 0, "set bank 2");

   v = set_bank_2(0xffffff);
   CHECK(8, 9, v, PI_SOME_PERMITTED, 0, "set bank 2");
}
Exemple #2
0
void t8(int pi)
{
   int v;

   printf("Bank read/write tests.\n");

   gpio_write(pi, GPIO, 0);
   v = read_bank_1(pi) & (1<<GPIO);
   CHECK(8, 1, v, 0, 0, "read bank 1");

   gpio_write(pi, GPIO, 1);
   v = read_bank_1(pi) & (1<<GPIO);
   CHECK(8, 2, v, (1<<GPIO), 0, "read bank 1");

   clear_bank_1(pi, 1<<GPIO);
   v = gpio_read(pi, GPIO);
   CHECK(8, 3, v, 0, 0, "clear bank 1");

   set_bank_1(pi, 1<<GPIO);
   v = gpio_read(pi, GPIO);
   CHECK(8, 4, v, 1, 0, "set bank 1");

   v = read_bank_2(pi);

   if (v) v = 0; else v = 1;

   CHECK(8, 5, v, 0, 0, "read bank 2");

   v = clear_bank_2(pi, 0);
   CHECK(8, 6, v, 0, 0, "clear bank 2");

   v = clear_bank_2(pi, 0xffffff);
   CHECK(8, 7, v, PI_SOME_PERMITTED, 0, "clear bank 2");

   v = set_bank_2(pi, 0);
   CHECK(8, 8, v, 0, 0, "set bank 2");

   v = set_bank_2(pi, 0xffffff);
   CHECK(8, 9, v, PI_SOME_PERMITTED, 0, "set bank 2");
}