OpenCores
URL https://opencores.org/ocsvn/gpib_controller/gpib_controller/trunk

Subversion Repositories gpib_controller

[/] [gpib_controller/] [trunk/] [prototype_1/] [PC_software/] [test_src/] [readRawRegs.c] - Blame information for rev 6

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 Andrewski
/*
2
 ============================================================================
3
 Name        : GPIB_access.c
4
 Author      : apaluch
5
 Version     :
6
 Copyright   : Your copyright notice
7
 Description : Hello World in C, Ansi-style
8
 ============================================================================
9
 */
10
 
11
#include <stdio.h>
12
#include <stdlib.h>
13
 
14
#include "GpibRegAccess.h"
15
 
16
#define CHECK(x) if(!(x)) goto error;
17
 
18
int rawRegAccessMain(int argc, char* argv[]) {
19
 
20
        printf("start\n");
21
 
22
        struct GpibRegAccess ra;
23
 
24
        CHECK(GpibRegAccess_init(&ra));
25
 
26
        RegType value, value1;
27
        unsigned int tempInt;
28
        SizeType regAddr = 1;
29
 
30
        char chr;
31
 
32
        do
33
        {
34
                chr = getchar();
35
 
36
                value = 0;
37
                value1 = 0;
38
 
39
                if(chr != 'e')
40
                {
41
                        if(chr == 'r')
42
                        {
43
                                scanf("%u", &regAddr);
44
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value));
45
                                printf("\n%x\n", value);
46
                        }
47
                        else if(chr == 'w')
48
                        {
49
                                scanf("%u", &regAddr);
50
                                scanf("%x", &tempInt);
51
 
52
                                value = tempInt;
53
 
54
                                //printf("\n%u %u\n", regAddr, value);
55
 
56
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value));
57
                        }
58
                        else if(chr == 'a')
59
                        {
60
                                scanf("%u", &regAddr);
61
                                scanf("%x", &tempInt);
62
 
63
                                value = tempInt;
64
 
65
                                //printf("\n%u %u\n", regAddr, value);
66
 
67
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value1));
68
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value & value1));
69
                        }
70
                        else if(chr == 'o')
71
                        {
72
                                scanf("%u", &regAddr);
73
                                scanf("%x", &tempInt);
74
 
75
                                value = tempInt;
76
 
77
                                //printf("\n%u %u\n", regAddr, value);
78
 
79
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value1));
80
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value | value1));
81
                        }
82
                }
83
                else
84
                {
85
                        break;
86
                }
87
        }
88
        while(true);
89
 
90
        GpibRegAccess_release(&ra);
91
 
92
        printf("end\n");
93
 
94
        return 0;
95
 
96
        error:
97
                printf("error");
98
                GpibRegAccess_release(&ra);
99
                return -1;
100
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.