connect( key1, SIGNAL( clicked() ), this, SLOT( key1_com() ) );
connect( key2, SIGNAL( clicked() ), this, SLOT( key2_com() ) );
connect( Slider1 , SIGNAL( sliderMoved(int) ), this, SLOT( key1_value(int) ) );
connect( Slider1 , SIGNAL( valueChanged(int) ), this, SLOT( key1_released(int) ) );
}
//======================================================
void cato::key1_com()
{
//int fd ,i;
unsigned char buff[9] = {0xca,0x20,0xfe,0x2b,0x03,0x01,0x00,0x01,0xac};
// fd = 3;
if( zu > 0 )
{
zu=zu-1;
Slider1->setValue(zu);
}
write( adc, &buff[0],9 );
}
//======================================================
void cato::key2_com()
{
//int fd ,i;
unsigned char buff[9] = {0xca,0x20,0xfe,0x2b,0x03,0x01,0x01,0x01,0xac};
// fd = 3;
if( zu < 64 )
{
zu=zu+1;
Slider1->setValue(zu);
}
write( adc, &buff[0],9 );
}
//======================================================
void cato::key3_com()
{
;
}
//======================================================
void cato::key4_com()
{
;
}
//======================================================
void cato::key5_com()
{
;
}
//======================================================
void cato::key6_com()
{
;
}
//======================================================
void cato::key7_com()
{
;
}
//======================================================
void cato::key8_com()
{
;
}
//=====================================================
void cato::key1_value(int i)
{
//int fd ,i;
unsigned char buff[8] = {0xca,0x20,0xfe,0x21,0x02,0x01,0x00,0xac};
// fd = 3;
zu = i;
i = 64 - i;
buff[6] = i;
write( adc, &buff[0],8 );
}
//=====================================================
void cato::key1_released(int i)
{
//int fd ,i;
unsigned char buff[8] = {0xca,0x20,0xfe,0x21,0x02,0x01,0x00,0xac};
// fd = 3;
zu = i;
buff[6] = 64-i;
write( adc, &buff[0],8 );
}
//======================================================
int cato::open_port( int fd, int comport)
{
// char *dev[] = {"/dev/ttyS0", "/dev/ttyS1", "/dev/ttyS2"};
long vdisable ;
if( comport == 1 )
{
fd = open( "/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
if( -1 == fd )
{
perror( "Can't open serial port");
return (-1);
}
}
else if( comport == 2 )
{
fd = open( "/dev/ttyS1", O_RDWR | O_NOCTTY | O_NDELAY);
if( -1 == fd )
{
perror( "Can't open serial port");
return (-1);
}
}
else if( comport == 3 )
{
fd = open( "/dev/ttyS2", O_RDWR | O_NOCTTY | O_NDELAY);
if( -1 == fd )
{
perror( "Can't open serial port");
return (-1);
}
}
/************************************************************************/
if( fcntl( fd, F_SETFL, 0 ) < 0)
printf( "fcntl failed!\n" );
else
printf( "fontl=%d\n", fcntl( fd, F_SETFL, 0));
/***********************************************************************/
if( isatty( STDIN_FILENO ) == 0)
printf( "standard input is not aterminal device\n");
else
printf( "isatty success!\n");
printf( "fd-open = %d\n", fd);
return fd;
}
/**********************************************************************************
* *******************************************************************************/
int cato::set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop)
{
struct termios newtio, oldtio;
if( tcgetattr(fd, &oldtio) != 0 )
{
perror("setupSerial 1");
return -1;
}
bzero( &newtio, sizeof(newtio) );
newtio.c_cflag |= CLOCAL | CREAD;
newtio.c_cflag &= ~CSIZE;
switch( nBits )
{
case 7:
newtio.c_cflag |= CS7;
break;
case 8:
newtio.c_cflag |= CS8;
break;
}
switch( nEvent )
{
case 'O':
newtio.c_cflag |= PARENB;
newtio.c_cflag |= PARODD;
newtio.c_cflag |= (INPCK | ISTRIP);
break;
case 'E':
newtio.c_cflag |= (INPCK | ISTRIP);
newtio.c_cflag |= PARENB;
newtio.c_cflag &= ~PARODD;
break;
case 'N':
newtio.c_cflag &= ~PARENB;
break;
}
/**************************************/
switch( nSpeed )
{
case 2400:
cfsetispeed( &newtio, B2400);
cfsetospeed( &newtio, B2400);
break;
case 4800:
cfsetispeed( &newtio, B4800);
cfsetospeed( &newtio, B4800);
break;
case 9600:
cfsetispeed( &newtio, B9600);
cfsetospeed( &newtio, B9600);
break;
case 115200:
cfsetispeed( &newtio, B115200);
cfsetospeed( &newtio, B115200);
break;
case 460800:
cfsetispeed( &newtio, B460800);
cfsetospeed( &newtio, B460800);
break;
default:
cfsetispeed( &newtio, B9600);
cfsetospeed( &newtio, B9600);
break;
}
if( nStop == 1)
newtio.c_cflag &= ~CSTOPB;
else if( nStop == 2 )
newtio.c_cflag |= CSTOPB;
newtio.c_cc[ VTIME ] = 0;
newtio.c_cc[ VMIN ] = 0;
tcflush( fd, TCIFLUSH );
if((tcsetattr(fd, TCSANOW, &newtio)) != 0)
{
perror("com set error");
return -1;
}
printf("set done!\n");
return 0;
}
int cato::init_com(void)
{
int fd, i;
if( ( fd = cato::open_port( fd, 2)) < 0 )
{
perror( "open_port error");
return 0 ;
}
if( ( i = cato::set_opt( fd, 9600, 8, 'N', 1 ) ) < 0 )
{
perror( "set_opt error");
return 0 ;
}
printf( "fd = %d\n", fd );
return fd;
}
/**************************************************************************************/
//======================================================
/*
* Destroys the object and frees any allocated resources
*/
cato::~cato()
{
// no need to delete child widgets, Qt does it all for us
}