Project

General

Profile

Revision 1267

Improved station dump mode
Added station dump ADC mode
Removed IBOM debug functions (superseded by dump mode)

View differences:

trunk/code/projects/diagnostic_station/station/hardware_ibom.c
1 1
#include "hardware_ibom.h"
2 2

  
3
static void pDataDump(int startPort, int stopPort, unsigned int delay);
4
static void pUsr(int startPort, int stopPort, unsigned int delay);
5

  
6 3
void ibom_init (void)
7 4
{
8
	// FIXME implement
5
	analog_init (ADC_START);
9 6
}
10 7

  
11 8
void ibom_set (bool on)
......
24 21

  
25 22
void ibom_read (uint16_t *top, uint16_t *left, uint16_t *right)
26 23
{
27
	usb_puts ("# Reading IBOM" NL);
28 24
	// FIXME implement
29 25
	
30 26
	*top=0;
......
36 32
{
37 33
	// FIXME implement
38 34
}
39

  
40
void ibom_debug (void)
41
{
42
	usb_puts("# Debugging IBOM\n");
43

  
44
	while(1) {
45
		pUsr(0x0, 0x10, 500);
46
	}
47

  
48
	exit(1);	/* Control should never reach here */
49
}
50

  
51
static void pDataDump(int startPort, int stopPort, unsigned int delay) {
52

  
53
	char buf[16];
54
	int i;
55
	
56
	usb_puts("# port:\t\tval:\n\n");
57

  
58
	for (i = startPort; i <= stopPort; i++) {
59

  
60
		usb_puts(itoa(analog10(i), buf, 10));
61
		usb_puts("\n");	
62
	}
63

  
64
	delay_ms(delay);
65

  
66
}
67

  
68

  
69
static void pUsr(int startPort, int stopPort, unsigned int delay) {
70

  
71
	char buf[16];
72
	int i;
73
	
74
	usb_puts("# port:\t\tval:\n\n");
75

  
76
	for (i = startPort; i <= stopPort; i++) {
77

  
78
		usb_puts(itoa(i, buf, 10));
79
		usb_puts("\t\t");
80
		usb_puts(itoa(analog10(i), buf, 10));
81
		usb_puts("\n");
82
	
83
	}
84

  
85
	delay_ms(delay);
86

  
87
}
trunk/code/projects/diagnostic_station/station/dump_station.c
11 11
	while (usb_getc_nb (&c)==-1)
12 12
	{
13 13
		dynamos_read (&left, &right);
14
		usb_puti (left);
15
		usb_puts (" ");
16
		usb_puti (right);
17
		usb_puts (NL);
14
		
15
		usb_puts ("Left: "); usb_puti (left ); usb_puts (NL);
16
		usb_puts ("Right:"); usb_puti (right); usb_puts (NL);
17
		usb_puts (NL NL);
18

  
19
		delay_ms (100);
18 20
	}
19 21
}
20 22

  
......
28 30
		turntable=turntable_get_position ();
29 31
		usb_puti (turntable);
30 32
		usb_puts (NL);
33

  
34
		delay_ms (100);
31 35
	}
32 36
}
33 37

  
......
41 45
		wall=turntable_get_position ();
42 46
		usb_puti (wall);
43 47
		usb_puts (NL);
48
		
49
		delay_ms (100);
44 50
	}
45 51
}
46 52

  
......
53 59
	{
54 60
		ibom_update ();
55 61
		ibom_read (&top, &left, &right);
56
		usb_puti (top);
57
		usb_puts (" ");
58
		usb_puti (left);
59
		usb_puts (" ");
60
		usb_puti (right);
61
		usb_puts (NL);
62
		
63
		usb_puts ("Top:   "); usb_puti (top  ); usb_puts (NL);
64
		usb_puts ("Left:  "); usb_puti (left ); usb_puts (NL);
65
		usb_puts ("Right: "); usb_puti (right); usb_puts (NL);
66
		usb_puts (NL NL);
67

  
68
		delay_ms (100);
62 69
	}
63 70
}
64 71

  
65

  
66 72
void dump_station_adc (uint8_t startPort, uint8_t endPort, uint16_t delay)
67 73
{
68
	for (uint8_t i=startPort; i<=endPort; ++i)
74
	char c;
75
	
76
	while (usb_getc_nb (&c)==-1)
69 77
	{
70
		usb_puti (i);
71
		usb_puts (": ");
72
		usb_puti (analog10 (i));
73
		usb_puts ("\t");
74
	
78
		for (uint8_t i=startPort; i<=endPort; ++i)
79
		{
80
			if (i<10) usb_puts (" ");
81
			usb_puti (i);
82
			usb_puts (": ");
83
			usb_puti (analog10 (i));
84
			usb_puts (NL);
85
		}
86
		usb_puts(NL NL);
87

  
88
		delay_ms (delay);
75 89
	}
76
	usb_puts("\n");
77

  
78
	delay_ms (delay);
79 90
}
trunk/code/projects/diagnostic_station/station/comm_interactive.c
17 17
{
18 18
	while (1)
19 19
	{
20
		usb_puts ("# Dump station sensors menu: (e)ncoders, (w)all, (t)urntable, (r)bom, (a)dc" NL);
20
		usb_puts ("# Dump station sensors menu: (d)ynamos, (w)all, (t)urntable, (i)bom, (a)dc" NL);
21 21

  
22 22
		char choice = usb_getc ();
23 23
		switch (choice) {
24
			case 'e': case 'E': dump_station_dynamos   ();         break;
25
			case 'w': case 'W': dump_station_wall      ();         break;
26
			case 't': case 'T': dump_station_turntable ();         break;
27
			case 'r': case 'R': dump_station_ibom      ();         break;
28
			case 'a': case 'A': dump_station_adc       (0, 16, 0); break;
24
			case 'd': case 'D': dump_station_dynamos   ();           break;
25
			case 'w': case 'W': dump_station_wall      ();           break;
26
			case 't': case 'T': dump_station_turntable ();           break;
27
			case 'i': case 'I': dump_station_ibom      ();           break;
28
			case 'a': case 'A': dump_station_adc       (0, 16, 100); break;
29 29
			case ESC: return;
30 30
			default: break;
31 31
		}
trunk/code/projects/diagnostic_station/station/main.c
104 104

  
105 105
	orbs_set(255, 0,255,255,0,255);
106 106

  
107
	ibom_debug();
108 107

  
109 108
	return 0;
110 109
}
trunk/code/projects/diagnostic_station/robot/main.c
178 178
    dragonfly_init(ALL_ON);
179 179
	encoders_init ();
180 180

  
181
	analog_init (ADC_START);
182

  
181 183
    usb_init ();
182 184
    usb_puts ("Diagnostic station robot starting up\r\n");
183 185

  

Also available in: Unified diff