use unsigned char* more consistently

git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@10917 67ed7778-7388-44ab-90cf-0a291f65f57c
This commit is contained in:
Marcus Meissner
2007-12-30 22:28:12 +00:00
parent 9dbb2b2a7b
commit 985d6eefb5
10 changed files with 96 additions and 91 deletions

View File

@@ -1,3 +1,8 @@
2007-12-30 Marcus Meissner <marcus@jet.franken.de>
* *.[ch]: Fixed signedness warnings, use unsigned char*
more consistently.
2002-07-30 Lutz Müller <lutz@users.sourceforge.net>
* rs232.c: Change != GP_OK to < GP_OK.

View File

@@ -52,11 +52,11 @@
* function will probe for the baudrate.
*/
static int
mdc800_sendInitialCommand (Camera *camera, char* answer)
mdc800_sendInitialCommand (Camera *camera, unsigned char* answer)
{
int baud_rates[3]={19200,57600,115200};
int rate,ret;
char command [8]={COMMAND_BEGIN,COMMAND_INIT_CONNECT,0,0,0,COMMAND_END,0,0};
unsigned char command [8]={COMMAND_BEGIN,COMMAND_INIT_CONNECT,0,0,0,COMMAND_END,0,0};
if (camera->port->type == GP_PORT_USB)
return mdc800_io_sendCommand_with_retry(camera->port,command,answer,8,1,1);
@@ -86,7 +86,7 @@ mdc800_sendInitialCommand (Camera *camera, char* answer)
*/
int mdc800_openCamera (Camera *camera)
{
char answer [8];
unsigned char answer [8];
int i,ret;
if (camera->port->type == GP_PORT_USB) {
@@ -110,7 +110,7 @@ int mdc800_openCamera (Camera *camera)
}
printCoreNote ("Firmware info (last 5 Bytes) : ");
for (i=0; i<8; i++)
printCoreNote ("%i ",(unsigned char) answer[i]);
printCoreNote ("%i ", answer[i]);
printCoreNote ("\n");
camera->pl->system_flags_valid=0;
camera->pl->memory_source=-1;
@@ -335,7 +335,7 @@ int mdc800_isCFCardPresent(Camera *camera)
{
mdc800_getSystemStatus(camera);
if (camera->pl->system_flags_valid)
return (((unsigned char)camera->pl->system_flags[0]&1) == 0);
return ((camera->pl->system_flags[0]&1) == 0);
else
{
printCoreError ("(mdc800_isCFCardPresent) detection fails.\n");
@@ -347,7 +347,7 @@ int mdc800_isCFCardPresent(Camera *camera)
int mdc800_isBatteryOk(Camera *camera)
{
mdc800_getSystemStatus(camera);
return (((unsigned char)camera->pl->system_flags[0]&4) == 0)?1:0;
return ((camera->pl->system_flags[0]&4) == 0)?1:0;
}
@@ -358,8 +358,8 @@ int mdc800_isBatteryOk(Camera *camera)
int mdc800_getMode(Camera *camera)
{
mdc800_getSystemStatus(camera);
if (((unsigned char)camera->pl->system_flags[1]&16) == 0)
return (((unsigned char)camera->pl->system_flags[1]&32) == 0)?1:0;
if ((camera->pl->system_flags[1]&16) == 0)
return ((camera->pl->system_flags[1]&32) == 0)?1:0;
else
return 2;
}
@@ -372,27 +372,27 @@ int mdc800_getMode(Camera *camera)
int mdc800_getFlashLightStatus(Camera *camera)
{
mdc800_getSystemStatus(camera);
return ((unsigned char)camera->pl->system_flags[3]&7);
return (camera->pl->system_flags[3]&7);
}
int mdc800_isLCDEnabled(Camera *camera)
{
mdc800_getSystemStatus(camera);
return (((unsigned char)camera->pl->system_flags[1]&4) == 4);
return ((camera->pl->system_flags[1]&4) == 4);
}
int mdc800_isMenuOn(Camera *camera)
{
mdc800_getSystemStatus(camera);
return (((unsigned char)camera->pl->system_flags[1]&1) == 1);
return ((camera->pl->system_flags[1]&1) == 1);
}
int mdc800_isAutoOffEnabled(Camera *camera)
{
mdc800_getSystemStatus(camera);
return (((unsigned char)camera->pl->system_flags[1]&8) == 8);
return ((camera->pl->system_flags[1]&8) == 8);
}
/* ----- Other fine functions------------------------------------------------- */
@@ -654,7 +654,7 @@ int mdc800_getRemainFreeImageCount (Camera *camera,int* h,int* s,int *e)
unsigned char data [6];
int ret;
ret = mdc800_io_sendCommand (camera->port,COMMAND_GET_REMAIN_FREE_IMAGE_COUNT,0,0,0,(char*)data,6);
ret = mdc800_io_sendCommand (camera->port,COMMAND_GET_REMAIN_FREE_IMAGE_COUNT,0,0,0,data,6);
if (ret != GP_OK)
{
printCoreError ("(mdc800_getRemainFreeImageCount) Error sending Command.\n");
@@ -675,7 +675,7 @@ int mdc800_getRemainFreeImageCount (Camera *camera,int* h,int* s,int *e)
* Get Image Quallity
* 0: Economic, 1:Standard, 2:High
*/
int mdc800_getImageQuality (Camera *camera, char *retval)
int mdc800_getImageQuality (Camera *camera, unsigned char *retval)
{
int ret;
ret = mdc800_io_sendCommand (camera->port,COMMAND_GET_IMAGE_QUALITY,0,0,0,retval,1);
@@ -713,7 +713,7 @@ int mdc800_setWB (Camera *camera, int v)
*/
int mdc800_getWBandExposure (Camera *camera,int* exp, int* wb)
{
char retval[2];
unsigned char retval[2];
int ret;
/* What's that here is a real diffenrence between USB and RS232 */
@@ -722,8 +722,8 @@ int mdc800_getWBandExposure (Camera *camera,int* exp, int* wb)
ret = mdc800_io_sendCommand(camera->port,COMMAND_GET_WB_AND_EXPOSURE,0,0,0,retval,2);
if (ret == GP_OK)
{
(*exp)=(unsigned char) retval[toggle]-2;
(*wb)=(unsigned char) retval[1-toggle];
(*exp)= retval[toggle]-2;
(*wb)= retval[1-toggle];
return 1;
}
printCoreError ("(mdc800_getWBandExposure) fails.\n");
@@ -798,12 +798,12 @@ int mdc800_number_of_pictures (Camera *camera, int *nrofpics)
}
*/
ret = mdc800_io_sendCommand(camera->port,COMMAND_GET_NUM_IMAGES,0,0,0,(char*)answer,2);
ret = mdc800_io_sendCommand(camera->port,COMMAND_GET_NUM_IMAGES,0,0,0,answer,2);
if (ret != GP_OK)
{
printAPIError ("(mdc800_getNumberOfImages) request Number of Pictures fails.\n");
return ret;
}
*nrofpics=(int)answer[0]*256+answer [1];
*nrofpics=answer[0]*256+answer [1];
return GP_OK;
}

View File

@@ -11,7 +11,7 @@
#define MDC800_FLASHLIGHT_AUTO 0
struct _CameraPrivateLibrary {
char system_flags[4];
unsigned char system_flags[4];
int system_flags_valid;
int memory_source;
};
@@ -59,7 +59,7 @@ int mdc800_setFlashLight (Camera*,int );
char* mdc800_getFlashLightString (int);
int mdc800_getImageQuality (Camera*,char *retval);
int mdc800_getImageQuality (Camera*,unsigned char *retval);
int mdc800_setImageQuality (Camera*,int);
int mdc800_getWBandExposure (Camera*,int*, int*);

View File

@@ -49,7 +49,7 @@
* the Baudrate of Rs232.
* if quiet is true, the function won't print notes
*/
int mdc800_io_sendCommand_with_retry (GPPort *port,char* command, char* buffer, int length, int maxtries,int quiet)
int mdc800_io_sendCommand_with_retry (GPPort *port,unsigned char* command, unsigned char* buffer, int length, int maxtries,int quiet)
{
int try=0;
int ret=GP_OK;
@@ -79,9 +79,9 @@ int mdc800_io_sendCommand_with_retry (GPPort *port,char* command, char* buffer,
* buffer: Strores the answer
* length: length of answer or null
*/
int mdc800_io_sendCommand (GPPort*port,char commandid,char par1,char par2,char par3, char* buffer, int length)
int mdc800_io_sendCommand (GPPort*port,unsigned char commandid,unsigned char par1,unsigned char par2,unsigned char par3, unsigned char* buffer, int length)
{
char command [8];
unsigned char command [8];
command[0]=COMMAND_BEGIN;
command[1]=commandid;
command[2]=par1;
@@ -97,9 +97,9 @@ int mdc800_io_sendCommand (GPPort*port,char commandid,char par1,char par2,char p
* Helper function for rs232 and usb
* It returns a timeout for the specified command
*/
int mdc800_io_getCommandTimeout (char command)
int mdc800_io_getCommandTimeout (unsigned char command)
{
switch ((unsigned char) command)
switch (command)
{
case COMMAND_SET_STORAGE_SOURCE:
case COMMAND_SET_TARGET:

View File

@@ -20,11 +20,11 @@
#define MDC800_TAKE_PICTURE_TIMEOUT 20000
int mdc800_io_sendCommand_with_retry(GPPort *, char*, char* , int, int,int);
int mdc800_io_sendCommand_with_retry(GPPort *, unsigned char*, unsigned char* , int, int,int);
/* The API to the upper Layer */
int mdc800_io_sendCommand(GPPort *, char ,char,char,char,char *,int );
int mdc800_io_sendCommand(GPPort *, unsigned char ,unsigned char,unsigned char,unsigned char,unsigned char *,int );
/* Helper Function for rs232 and usb */
int mdc800_io_getCommandTimeout(char);
int mdc800_io_getCommandTimeout(unsigned char);
#endif

View File

@@ -6,49 +6,49 @@
#define DEFINE_MDC800_SPEC_H
#define ANSWER_COMMIT (char) 0xbb
#define ANSWER_COMMIT 0xbb
/* Commands */
#define COMMAND_BEGIN (char) 0x55
#define COMMAND_END (char) 0xAA
#define COMMAND_BEGIN 0x55
#define COMMAND_END 0xAA
#define COMMAND_INIT_CONNECT (char) 0x00
#define COMMAND_GET_SYSTEM_STATUS (char) 0x01
#define COMMAND_TAKE_PICTURE (char) 0x02
#define COMMAND_SET_TARGET (char) 0x03
#define COMMAND_DELETE_IMAGE (char) 0x04
#define COMMAND_INIT_CONNECT 0x00
#define COMMAND_GET_SYSTEM_STATUS 0x01
#define COMMAND_TAKE_PICTURE 0x02
#define COMMAND_SET_TARGET 0x03
#define COMMAND_DELETE_IMAGE 0x04
#define COMMAND_GET_IMAGE (char) 0x05
#define COMMAND_GET_IMAGE_SIZE (char) 0x07
#define COMMAND_GET_THUMBNAIL (char) 0x09
#define COMMAND_GET_IMAGE 0x05
#define COMMAND_GET_IMAGE_SIZE 0x07
#define COMMAND_GET_THUMBNAIL 0x09
#define COMMAND_CHANGE_RS232_BAUD_RATE (char) 0x0b
#define COMMAND_GET_NUM_IMAGES (char) 0x0d
#define COMMAND_CHANGE_RS232_BAUD_RATE 0x0b
#define COMMAND_GET_NUM_IMAGES 0x0d
#define COMMAND_SET_PLAYBACK_MODE (char) 0x12
#define COMMAND_SET_CAMERA_MODE (char) 0x16
#define COMMAND_PLAYBACK_IMAGE (char) 0x17
#define COMMAND_SET_PLAYBACK_MODE 0x12
#define COMMAND_SET_CAMERA_MODE 0x16
#define COMMAND_PLAYBACK_IMAGE 0x17
#define COMMAND_SET_FLASHMODE_AUTO (char) 0x18
#define COMMAND_SET_FLASHMODE_ON (char) 0x19
#define COMMAND_SET_FLASHMODE_OFF (char) 0x1A
#define COMMAND_SET_FLASHMODE_AUTO 0x18
#define COMMAND_SET_FLASHMODE_ON 0x19
#define COMMAND_SET_FLASHMODE_OFF 0x1A
#define COMMAND_GET_WB_AND_EXPOSURE (char) 0x20
#define COMMAND_SET_EXPOSURE (char) 0x21
#define COMMAND_SET_WB (char) 0x22
#define COMMAND_GET_WB_AND_EXPOSURE 0x20
#define COMMAND_SET_EXPOSURE 0x21
#define COMMAND_SET_WB 0x22
#define COMMAND_GET_REMAIN_FREE_IMAGE_COUNT (char) 0x25
#define COMMAND_SET_LCD_ON (char) 0x2a
#define COMMAND_SET_LCD_OFF (char) 0x2b
#define COMMAND_SET_IMAGE_QUALITY (char) 0x2d
#define COMMAND_SET_MENU_ON (char) 0x2f
#define COMMAND_SET_MENU_OFF (char) 0x30
#define COMMAND_GET_REMAIN_FREE_IMAGE_COUNT 0x25
#define COMMAND_SET_LCD_ON 0x2a
#define COMMAND_SET_LCD_OFF 0x2b
#define COMMAND_SET_IMAGE_QUALITY 0x2d
#define COMMAND_SET_MENU_ON 0x2f
#define COMMAND_SET_MENU_OFF 0x30
#define COMMAND_SET_STORAGE_SOURCE (char) 0x32
#define COMMAND_DISCONNECT (char) 0x34
#define COMMAND_SET_STORAGE_SOURCE 0x32
#define COMMAND_DISCONNECT 0x34
#define COMMAND_GET_IMAGE_QUALITY (char) 0x49
#define COMMAND_SET_EXPOSURE_MODE (char) 0x50
#define COMMAND_GET_EXPOSURE_MODE (char) 0x51
#define COMMAND_GET_IMAGE_QUALITY 0x49
#define COMMAND_SET_EXPOSURE_MODE 0x50
#define COMMAND_GET_EXPOSURE_MODE 0x51
#endif

View File

@@ -39,7 +39,7 @@
* buffer: Strores the answer
* length: length of answer or null
*/
int mdc800_rs232_sendCommand(GPPort *port,char* command, char* buffer, int length)
int mdc800_rs232_sendCommand(GPPort *port,unsigned char* command, unsigned char* buffer, int length)
{
char answer;
int fault=0,ret;
@@ -53,7 +53,7 @@ int mdc800_rs232_sendCommand(GPPort *port,char* command, char* buffer, int lengt
/* Send command */
for (i=0; i<6; i++)
{
if (gp_port_write (port, &command[i] ,1) < GP_OK)
if (gp_port_write (port, (char*)&command[i] ,1) < GP_OK)
{
printCError ("(mdc800_rs232_sendCommand) sending Byte %i fails!\n",i);
fault=1;
@@ -143,12 +143,12 @@ int mdc800_rs232_waitForCommit (GPPort *port,char commandid)
/*
* receive Bytes from camera
*/
int mdc800_rs232_receive (GPPort *port,char* buffer, int b)
int mdc800_rs232_receive (GPPort *port,unsigned char* buffer, int b)
{
int ret;
gp_port_set_timeout (port,MDC800_DEFAULT_TIMEOUT );
ret=gp_port_read(port,buffer,b);
ret=gp_port_read(port,(char*)buffer,b);
if (ret!=b)
{
printCError ("(mdc800_rs232_receive) can't read %i Bytes !\n",b);
@@ -162,10 +162,11 @@ int mdc800_rs232_receive (GPPort *port,char* buffer, int b)
* downloads data from camera and send
* a checksum every 512 bytes.
*/
int mdc800_rs232_download (GPPort *port,char* buffer, int size)
int mdc800_rs232_download (GPPort *port,unsigned char* buffer, int size)
{
int checksum,readen=0,i;
char DSC_checksum;
int readen=0,i;
unsigned char checksum;
unsigned char DSC_checksum;
int numtries=0;
gp_port_set_timeout(port, MDC800_DEFAULT_TIMEOUT );
@@ -176,7 +177,7 @@ int mdc800_rs232_download (GPPort *port,char* buffer, int size)
return readen;
checksum=0;
for (i=0; i<512; i++)
checksum=(checksum+(unsigned char) buffer [readen+i])%256;
checksum=(checksum+buffer[readen+i])%256;
if (gp_port_write (port,(char*) &checksum,1) < GP_OK)
return readen;
@@ -184,10 +185,10 @@ int mdc800_rs232_download (GPPort *port,char* buffer, int size)
return readen;
if ((char) checksum != DSC_checksum)
if (checksum != DSC_checksum)
{
numtries++;
printCError ("(mdc800_rs232_download) checksum: software %i, DSC %i , reload block! (%i) \n",checksum,(unsigned char)DSC_checksum,numtries);
printCError ("(mdc800_rs232_download) checksum: software %i, DSC %i , reload block! (%i) \n",checksum,DSC_checksum,numtries);
if (numtries > 10)
{
printCError ("(mdc800_rs232_download) to many retries, giving up..");
@@ -204,12 +205,11 @@ int mdc800_rs232_download (GPPort *port,char* buffer, int size)
{
int i,j;
unsigned char* b=(unsigned char*) buffer;
for (i=0; i<4; i++)
{
printCError ("%i: ",i);
for (j=0; j<8; j++)
printCError (" %i", b[i*8+j]);
printCError (" %i", buffer[i*8+j]);
printCError ("\n");
}
}

View File

@@ -1,9 +1,9 @@
#ifndef _RS232_H
#define _RS232_H
int mdc800_rs232_sendCommand(GPPort*,char* , char * , int );
int mdc800_rs232_sendCommand(GPPort*,unsigned char* , unsigned char * , int );
int mdc800_rs232_waitForCommit(GPPort*,char commandid);
int mdc800_rs232_receive(GPPort*,char * , int );
int mdc800_rs232_download(GPPort*,char *, int);
int mdc800_rs232_receive(GPPort*,unsigned char * , int );
int mdc800_rs232_download(GPPort*,unsigned char *, int);
#endif

View File

@@ -41,11 +41,11 @@
/*
* Checks wether the camera responds busy
*/
static int mdc800_usb_isBusy (char* ch)
static int mdc800_usb_isBusy (unsigned char* ch)
{
int i;
for (i=0;i<8;i++)
if (ch [i] != (char)0x99)
if (ch [i] != 0x99)
return 0;
return 1;
}
@@ -54,11 +54,11 @@ static int mdc800_usb_isBusy (char* ch)
/*
* Checks wether the Camera is ready
*/
static int mdc800_usb_isReady (char *ch)
static int mdc800_usb_isReady (unsigned char *ch)
{
int i;
for (i=0;i<8;i++)
if (ch [i] != (char)0xbb)
if (ch [i] != 0xbb)
return 0;
return 1;
}
@@ -71,7 +71,7 @@ static int mdc800_usb_isReady (char *ch)
* The function stores the readen 8 Bytes in data.
* and return 0 on success else -1.
*/
static int mdc800_usb_readFromIrq (GPPort *port,int type,char* data,int timeout)
static int mdc800_usb_readFromIrq (GPPort *port,int type,unsigned char* data,int timeout)
{
int ret;
struct timeval tv;
@@ -82,7 +82,7 @@ static int mdc800_usb_readFromIrq (GPPort *port,int type,char* data,int timeout)
while (timeout>=0)
{
/* try a read */
ret = gp_port_check_int(port,data,8);
ret = gp_port_check_int(port,(char*)data,8);
if (ret!=8)
{
printCError ("(mdc800_usb_readFromIRQ) reading bytes from irq fails (%d)\n",ret);
@@ -93,7 +93,7 @@ static int mdc800_usb_readFromIrq (GPPort *port,int type,char* data,int timeout)
printf ("irq :");
for (i=0; i<8; i++)
{
printf ("%i ", (unsigned char)data [i]);
printf ("%i ", data [i]);
}
printf ("\n");
}
@@ -137,9 +137,9 @@ static int mdc800_usb_readFromIrq (GPPort *port,int type,char* data,int timeout)
return GP_ERROR_IO;
}
int mdc800_usb_sendCommand(GPPort*port,char*command,char*buffer,int length)
int mdc800_usb_sendCommand(GPPort*port,unsigned char*command,unsigned char*buffer,int length)
{
char tmp_buffer [16];
unsigned char tmp_buffer [16];
GPPortSettings settings;
int ret;
@@ -156,19 +156,19 @@ int mdc800_usb_sendCommand(GPPort*port,char*command,char*buffer,int length)
fprintf(stderr,"Camera did not get ready before mdc800_usb_sendCommand!\n");
}
if ((ret=gp_port_write(port,command,8)) != 8)
if ((ret=gp_port_write(port,(char*)command,8)) != 8)
{
printCError ("(mdc800_usb_sendCommand) sending Command fails (%d)!\n",ret);
return ret;
}
/* receive the answer */
switch ((unsigned char) command [1])
switch (command [1])
{
case COMMAND_GET_THUMBNAIL:
case COMMAND_GET_IMAGE:
gp_port_set_timeout (port, 2000);
if (gp_port_read (port,buffer,64) != 64)
if (gp_port_read (port,(char*)buffer,64) != 64)
{
printCError ("(mdc800_usb_sendCommand) requesting 64Byte dummy data fails.\n");
return GP_ERROR_IO;
@@ -178,7 +178,7 @@ int mdc800_usb_sendCommand(GPPort*port,char*command,char*buffer,int length)
int readen=0;
while (readen < length)
{
if (gp_port_read(port,buffer+readen,64) != 64)
if (gp_port_read(port,(char*)(buffer+readen),64) != 64)
{
printCError ("(mdc800_usb_sendCommand) reading image data fails.\n");
return 0;

View File

@@ -9,6 +9,6 @@
#define MDC800_USB_ENDPOINT_DOWNLOAD 0x84
#define MDC800_USB_IRQ_INTERVAL 255 /* 255ms */
int mdc800_usb_sendCommand (GPPort*,char* , char * , int );
int mdc800_usb_sendCommand (GPPort*,unsigned char* , unsigned char * , int );
#endif