1 /* $Id: pasori_test.c,v 1.5 2009-10-09 07:43:14 hito Exp $ */
2 #include <stdio.h>
3 #include <stdlib.h>
4 
5 #include "config.h"
6 #include "libpafe.h"
7 
8 int
test(pasori * p)9 test(pasori *p)
10 {
11   unsigned char data[] = "test data.";
12   int n = sizeof(data) - 1, r = 0;
13 
14   printf("Echo test... ");
15   if (pasori_test_echo(p, data, &n)) {
16     r |= 1;
17     printf("error!\n");
18   } else {
19     printf("success\n");
20   }
21 
22   printf("EPROM test... ");
23   if (pasori_test_eprom(p)) {
24     r |= 1;
25     printf("error!\n");
26   } else {
27     printf("success\n");
28   }
29 
30   printf("RAM test... ");
31   if (pasori_test_ram(p)) {
32     r |= 1;
33     printf("error!\n");
34   } else {
35     printf("success\n");
36   }
37 
38   printf("CPU test... ");
39   if (pasori_test_cpu(p)) {
40     r |= 1;
41     printf("error!\n");
42   } else {
43     printf("success\n");
44   }
45 
46   printf("Polling test... ");
47   if (pasori_test_polling(p)) {
48     r |= 1;
49     printf("error!\n");
50   } else {
51     printf("success\n");
52   }
53   return r;
54 }
55 
56 void
show_version(pasori * p)57 show_version(pasori *p)
58 {
59   int v1, v2;
60 
61   if (pasori_version(p, &v1, &v2)) {
62     printf("cannot get version.\n");
63     return;
64   }
65 
66   switch (pasori_type(p)) {
67   case PASORI_TYPE_S310:
68     printf("PaSoRi (RC-S310)\n firmware version %d.%02d\n", v1, v2);
69     break;
70   case PASORI_TYPE_S320:
71     printf("PaSoRi (RC-S320)\n firmware version %d.%02d\n", v1, v2);
72     break;
73   case PASORI_TYPE_S330:
74     printf("PaSoRi (RC-S330)\n firmware version %d.%02d\n", v1, v2);
75     break;
76   default:
77     printf("unknown hardware.\n");
78   }
79 
80 }
81 
82 int
main(void)83 main(void)
84 {
85   pasori *p;
86   int type;
87 
88   p = pasori_open();
89   if (!p) {
90     printf("error\n");
91     exit(-1);
92   }
93   pasori_init(p);
94 
95   show_version(p);
96 
97   type = pasori_type(p);
98   if ((type == PASORI_TYPE_S310 || type == PASORI_TYPE_S320) && test(p)) {
99     pasori_close(p);
100     return 1;
101   }
102 
103   pasori_close(p);
104 
105   return 0;
106 }
107