[Armadeus-commitlog] armadeus branch, master, updated. latestrelease-135-g7f2510c
Brought to you by:
sszy
From: Julien B a. A. <ar...@us...> - 2009-10-27 21:55:03
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "armadeus". The branch, master has been updated via 7f2510c6bd02ebf475728fb9846e3421ade85279 (commit) from 12f30aa66017901fe26dbd72fb217df58cdd44b8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7f2510c6bd02ebf475728fb9846e3421ade85279 Author: Julien Boibessot <jul...@ar...> Date: Tue Oct 27 22:54:28 2009 +0100 [TOOLS] Cleanup setDAC ----------------------------------------------------------------------- Summary of changes: target/packages/max5821ctrl/Makefile | 46 +++-------------- target/packages/max5821ctrl/max5821.h | 56 ++++++++++----------- target/packages/max5821ctrl/setDAC.c | 88 ++++++++++++++++----------------- 3 files changed, 76 insertions(+), 114 deletions(-) diff --git a/target/packages/max5821ctrl/Makefile b/target/packages/max5821ctrl/Makefile index 4d1ece6..eb72e06 100755 --- a/target/packages/max5821ctrl/Makefile +++ b/target/packages/max5821ctrl/Makefile @@ -1,59 +1,27 @@ # -# Makefile for the Armadeus DAC control +# Makefile for the Armadeus DAC control tool # -CFLAGS = -Wall -O +CFLAGS = -Wall -O INCLUDES = PWD := $(shell pwd) -#HEADERS = - -SOURCES = setDAC.c -OBJECTS = setDAC.o - +SOURCES = setDAC.c +OBJECTS = setDAC.o TARGET = setDAC -####### Implicit rules - -.SUFFIXES: .cpp .cxx .cc .C .c - -.cpp.o: - $(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $< - -.cxx.o: - $(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $< - -.cc.o: - $(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $< - -.C.o: - $(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $< - -.c.o: - $(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $< - - -####### Build rules - - -$(TARGET): $(OBJECTS) Makefile $(HEADERS) - @echo - @echo "Building I2C dac test programm..." +$(TARGET): $(OBJECTS) $(CC) $(OBJECTS) $(CFLAGS) $(INCLUDES) -o $(TARGET) - all: $(TARGET) clean: -rm -f $(TARGET) -rm -f *.o *~ core -setDAC.o: setDAC.c max5821.h Makefile - @echo - $(CC) -c $(CFLAGS) $(INCLUDES) setDAC.c - - +setDAC.o: setDAC.c max5821.h + $(CC) -c $(CFLAGS) $(INCLUDES) setDAC.c diff --git a/target/packages/max5821ctrl/max5821.h b/target/packages/max5821ctrl/max5821.h index 85b7330..0d9fda9 100644 --- a/target/packages/max5821ctrl/max5821.h +++ b/target/packages/max5821ctrl/max5821.h @@ -23,53 +23,50 @@ */ -// I2C slave Adresses - +/* I2C slave addresses */ #define MAX5821L_IC_SLAVE_ADDRESS_GND 0x38 #define MAX5821L_IC_SLAVE_ADDRESS_VDD 0x39 #define MAX5821M_IC_SLAVE_ADDRESS_GND 0x58 #define MAX5821M_IC_SLAVE_ADDRESS_VDD 0x59 -// command bytes - -#define MAX5821_LOAD_DAC_A_IN_REG_B 0x0 -#define MAX5821_LOAD_DAC_B_IN_REG_A 0x1 -#define MAX5821_LOAD_DAC_A 0x4 -#define MAX5821_LOAD_DAC_B 0x5 +/* command bytes */ +#define MAX5821_LOAD_DAC_A_IN_REG_B 0x0 +#define MAX5821_LOAD_DAC_B_IN_REG_A 0x1 +#define MAX5821_LOAD_DAC_A 0x4 +#define MAX5821_LOAD_DAC_B 0x5 #define MAX5821_LOAD_DAC_A_IN_UPDATE_ALL 0x8 #define MAX5821_LOAD_DAC_B_IN_UPDATE_ALL 0x9 #define MAX5821_LOAD_DAC_ALL_IN_UPDATE_ALL 0xC -#define MAX5821_LOAD_DAC_ALL_IN 0xD +#define MAX5821_LOAD_DAC_ALL_IN 0xD -#define MAX5821_UPDATE_ALL_DAC_COMMAND 0xE -#define MAX5821_EXTENDED_COMMAND_MODE 0xF +#define MAX5821_UPDATE_ALL_DAC_COMMAND 0xE +#define MAX5821_EXTENDED_COMMAND_MODE 0xF #define MAX5821_READ_DAC_A_COMMAND 0x1 #define MAX5821_READ_DAC_B_COMMAND 0x2 -#define POWER_UP 0x0 -#define POWER_DOWN_MODE0 0x1 -#define POWER_DOWN_MODE1 0x2 -#define POWER_DOWN_MODE2 0x3 +#define POWER_UP 0x0 +#define POWER_DOWN_MODE0 0x1 +#define POWER_DOWN_MODE1 0x2 +#define POWER_DOWN_MODE2 0x3 -#define POWER_CTRL_SELECTED 0x1 -#define POWER_CTRL_UNSELECTED 0x0 +#define POWER_CTRL_SELECTED 0x1 +#define POWER_CTRL_UNSELECTED 0x0 #define MAX5821M_MAX_DATA_VALUE 1024 -// transfered data structs. - +/* transfered data structs */ typedef struct { - unsigned char command; - unsigned char ctrlB; - unsigned char ctrlA; - unsigned char powerMode; -} extended_command; + unsigned char command; + unsigned char ctrlB; + unsigned char ctrlA; + unsigned char powerMode; +} extended_command; typedef struct { unsigned char command; - unsigned short data; + unsigned short data; unsigned char Sbits; } data_command; @@ -79,22 +76,21 @@ typedef struct unsigned char command; } read_command; - typedef struct { - unsigned short powerMode; + unsigned short powerMode; unsigned short data; unsigned short Sbits; } data_read; -#define Build_data_command( InSruct, Buf ) \ +#define BUILD_DATA_COMMAND(InSruct, Buf) \ { \ Buf[0] = (InSruct.command << 4) + (unsigned char) (InSruct.data>>6);\ Buf[1] = (unsigned char) (InSruct.data<<2);\ } -#define Build_extended_command( InSruct, Buf ) \ +#define BUILD_EXTENDED_COMMAND(InSruct, Buf) \ { \ Buf[0] = (InSruct.command << 4) ;\ Buf[1] = (InSruct.ctrlB << 3) + (InSruct.ctrlA << 2) + InSruct.powerMode;\ -} +} diff --git a/target/packages/max5821ctrl/setDAC.c b/target/packages/max5821ctrl/setDAC.c index e7acd70..c96f5de 100644 --- a/target/packages/max5821ctrl/setDAC.c +++ b/target/packages/max5821ctrl/setDAC.c @@ -30,119 +30,117 @@ #include <stdlib.h> #include <string.h> -// #include <linux/i2c.h> // seems to make trouble during compiling .... #include <linux/i2c-dev.h> - #include <sys/ioctl.h> + #include "max5821.h" // #define DEBUG_MAX5821 1 -/****************************************************************************************************************************/ void usage() { - printf ("Usage: setDAC OUTPUT [VALUE]\n"); - printf ("power down or set DAC output with value 0 - 1023 \n\n"); - printf (" OUTPUT is A , B or AB (both)\n"); - printf (" VALUE must be 0 - 1023 \n\n"); - printf (" If no VALUE is given, then the output is powered down \n"); + printf("Usage: setDAC OUTPUT [VALUE]\n"); + printf("Power down or set DAC output with VALUE\n\n"); + printf(" OUTPUT is A, B or AB (both)\n"); + printf(" VALUE must be [0 - 1023]\n\n"); + printf(" If no VALUE is given, then the output is powered down\n"); exit(1); } -/****************************************************************************************************************************/ - int main(int argc, char *argv[]) { int bus; int value; - extended_command powerDownCommand; - extended_command powerUpCommand; - data_command setDACOutput; + extended_command powerDownCommand = {0, 0, 0, 0}; + extended_command powerUpCommand = {0, 0, 0, 0}; + data_command setDACOutput = {0, 0, 0}; unsigned char buf[2]; - if ( (argc !=2) && (argc != 3) ) + if ((argc != 2) && (argc != 3)) { usage(); } - if ((bus = open("/dev/i2c-0",O_RDWR)) < 0) + if ((bus = open("/dev/i2c-0", O_RDWR)) < 0) { perror("Open error: "); - exit (1); + exit(1); } - if ( ioctl(bus ,/*I2C_SLAVE*/ 0x703, MAX5821L_IC_SLAVE_ADDRESS_GND) < 0) + if (ioctl(bus,/*I2C_SLAVE*/ 0x703, MAX5821L_IC_SLAVE_ADDRESS_GND) < 0) { perror("Ioctl error: "); - exit (1); + exit(1); } - powerDownCommand.command = MAX5821_EXTENDED_COMMAND_MODE ; - powerDownCommand.powerMode = POWER_DOWN_MODE0 ; - powerUpCommand.command = MAX5821_EXTENDED_COMMAND_MODE ; - powerUpCommand.powerMode = POWER_UP ; + powerDownCommand.command = MAX5821_EXTENDED_COMMAND_MODE; + powerDownCommand.powerMode = POWER_DOWN_MODE0; + powerUpCommand.command = MAX5821_EXTENDED_COMMAND_MODE; + powerUpCommand.powerMode = POWER_UP; setDACOutput.Sbits = 0; - if (0==strcmp(argv[1],"A")) + if (0 == strcmp(argv[1],"A")) { powerDownCommand.ctrlA = POWER_CTRL_SELECTED; powerDownCommand.ctrlB = POWER_CTRL_UNSELECTED; powerUpCommand.ctrlA = POWER_CTRL_SELECTED; powerUpCommand.ctrlB = POWER_CTRL_UNSELECTED; - setDACOutput.command = MAX5821_LOAD_DAC_A_IN_REG_B ; + setDACOutput.command = MAX5821_LOAD_DAC_A_IN_REG_B; } - else if (0==strcmp(argv[1],"B")) + else if (0 == strcmp(argv[1],"B")) { powerDownCommand.ctrlA = POWER_CTRL_UNSELECTED; powerDownCommand.ctrlB = POWER_CTRL_SELECTED; powerUpCommand.ctrlA = POWER_CTRL_UNSELECTED; powerUpCommand.ctrlB = POWER_CTRL_SELECTED; - setDACOutput.command = MAX5821_LOAD_DAC_B_IN_REG_A ; + setDACOutput.command = MAX5821_LOAD_DAC_B_IN_REG_A; } - else if (0==strcmp(argv[1],"AB")) + else if (0 == strcmp(argv[1],"AB")) { powerDownCommand.ctrlA = POWER_CTRL_SELECTED; powerDownCommand.ctrlB = POWER_CTRL_SELECTED; powerUpCommand.ctrlA = POWER_CTRL_SELECTED; powerUpCommand.ctrlB = POWER_CTRL_SELECTED; - setDACOutput.command = MAX5821_LOAD_DAC_ALL_IN_UPDATE_ALL ; + setDACOutput.command = MAX5821_LOAD_DAC_ALL_IN_UPDATE_ALL; } else { usage(); } - if (argc == 2 ) + if (argc == 2) { - Build_extended_command( powerDownCommand, buf); -#ifdef DEBUG_MAX5821 - printf("Set the DAC : %02X %02X \n", buf[0],buf[1] ); + BUILD_EXTENDED_COMMAND(powerDownCommand, buf); +#ifdef DEBUG_MAX5821 + printf("Set the DAC : %02X %02X \n", buf[0], buf[1]); #endif } else { value = atoi(argv[2]); - if (value >= MAX5821M_MAX_DATA_VALUE) usage(); - // first, we power up the DAC j - Build_extended_command( powerUpCommand, buf); -#ifdef DEBUG_MAX5821 - printf("Set the DAC : %02X %02X \n", buf[0],buf[1] ); + if (value >= MAX5821M_MAX_DATA_VALUE) + usage(); + /* first, we power up the DAC */ + BUILD_EXTENDED_COMMAND(powerUpCommand, buf); +#ifdef DEBUG_MAX5821 + printf("Set the DAC : %02X %02X \n", buf[0], buf[1]); #endif - if ( 0 > write (bus, buf,2)) + if (0 > write(bus, buf, 2)) { printf("Write error\n"); - exit (1); + exit(1); } setDACOutput.data = value; - Build_data_command(setDACOutput,buf); -#ifdef DEBUG_MAX5821 - printf("Set the DAC : %02X %02X \n", buf[0],buf[1] ); + BUILD_DATA_COMMAND(setDACOutput, buf); +#ifdef DEBUG_MAX5821 + printf("Set the DAC : %02X %02X \n", buf[0], buf[1]); #endif } - if ( 0 > write (bus, buf,2)) + if (0 > write(bus, buf, 2)) { printf("Write error\n"); - exit (1); + exit(1); } - exit (0); + + exit(0); } hooks/post-receive -- armadeus |