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] - Diff between revs 6 and 12

Only display areas with differences | Details | Blame | View Log

Rev 6 Rev 12
/*
/*
 
*This file is part of fpga_gpib_controller.
 
*
 
* Fpga_gpib_controller is free software: you can redistribute it and/or modify
 
* it under the terms of the GNU General Public License as published by
 
* the Free Software Foundation, either version 3 of the License, or
 
* (at your option) any later version.
 
*
 
* Fpga_gpib_controller is distributed in the hope that it will be useful,
 
* but WITHOUT ANY WARRANTY; without even the implied warranty of
 
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
* GNU General Public License for more details.
 
*
 
* You should have received a copy of the GNU General Public License
 
* along with Fpga_gpib_controller.  If not, see <http://www.gnu.org/licenses/>.
 
*/
 
/*
 ============================================================================
 ============================================================================
 Name        : GPIB_access.c
 Name        : GPIB_access.c
 Author      : apaluch
 Author      : Andrzej Paluch
 Version     :
 Version     :
 Copyright   : Your copyright notice
 Copyright   : Your copyright notice
 Description : Hello World in C, Ansi-style
 Description : Hello World in C, Ansi-style
 ============================================================================
 ============================================================================
 */
 */
 
 
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
 
 
#include "GpibRegAccess.h"
#include "GpibRegAccess.h"
 
 
#define CHECK(x) if(!(x)) goto error;
#define CHECK(x) if(!(x)) goto error;
 
 
int rawRegAccessMain(int argc, char* argv[]) {
int rawRegAccessMain(int argc, char* argv[]) {
 
 
        printf("start\n");
        printf("start\n");
 
 
        struct GpibRegAccess ra;
        struct GpibRegAccess ra;
 
 
        CHECK(GpibRegAccess_init(&ra));
        CHECK(GpibRegAccess_init(&ra));
 
 
        RegType value, value1;
        RegType value, value1;
        unsigned int tempInt;
        unsigned int tempInt;
        SizeType regAddr = 1;
        SizeType regAddr = 1;
 
 
        char chr;
        char chr;
 
 
        do
        do
        {
        {
                chr = getchar();
                chr = getchar();
 
 
                value = 0;
                value = 0;
                value1 = 0;
                value1 = 0;
 
 
                if(chr != 'e')
                if(chr != 'e')
                {
                {
                        if(chr == 'r')
                        if(chr == 'r')
                        {
                        {
                                scanf("%u", &regAddr);
                                scanf("%u", &regAddr);
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value));
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value));
                                printf("\n%x\n", value);
                                printf("\n%x\n", value);
                        }
                        }
                        else if(chr == 'w')
                        else if(chr == 'w')
                        {
                        {
                                scanf("%u", &regAddr);
                                scanf("%u", &regAddr);
                                scanf("%x", &tempInt);
                                scanf("%x", &tempInt);
 
 
                                value = tempInt;
                                value = tempInt;
 
 
                                //printf("\n%u %u\n", regAddr, value);
                                //printf("\n%u %u\n", regAddr, value);
 
 
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value));
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value));
                        }
                        }
                        else if(chr == 'a')
                        else if(chr == 'a')
                        {
                        {
                                scanf("%u", &regAddr);
                                scanf("%u", &regAddr);
                                scanf("%x", &tempInt);
                                scanf("%x", &tempInt);
 
 
                                value = tempInt;
                                value = tempInt;
 
 
                                //printf("\n%u %u\n", regAddr, value);
                                //printf("\n%u %u\n", regAddr, value);
 
 
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value1));
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value1));
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value & value1));
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value & value1));
                        }
                        }
                        else if(chr == 'o')
                        else if(chr == 'o')
                        {
                        {
                                scanf("%u", &regAddr);
                                scanf("%u", &regAddr);
                                scanf("%x", &tempInt);
                                scanf("%x", &tempInt);
 
 
                                value = tempInt;
                                value = tempInt;
 
 
                                //printf("\n%u %u\n", regAddr, value);
                                //printf("\n%u %u\n", regAddr, value);
 
 
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value1));
                                CHECK(GpibRegAccess_readReg(&ra, regAddr, &value1));
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value | value1));
                                CHECK(GpibRegAccess_writeReg(&ra, regAddr, value | value1));
                        }
                        }
                }
                }
                else
                else
                {
                {
                        break;
                        break;
                }
                }
        }
        }
        while(true);
        while(true);
 
 
        GpibRegAccess_release(&ra);
        GpibRegAccess_release(&ra);
 
 
        printf("end\n");
        printf("end\n");
 
 
        return 0;
        return 0;
 
 
        error:
        error:
                printf("error");
                printf("error");
                GpibRegAccess_release(&ra);
                GpibRegAccess_release(&ra);
                return -1;
                return -1;
}
}
 
 

powered by: WebSVN 2.1.0

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