#include "mainwindow.h"
#include "ui_mainwindow.h"
//#include <QProcess>
#include <stdio.h>
//#include <stdlib.h>
//#include <unistd.h>
#include <sys/ioctl.h>
#include <fcntl.h>
static int fd_led;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
fd_led = open("/dev/GZBS_GPIO_LED", O_RDWR);
if (fd_led < 0)
{
perror("open device leds");
exit(1);
}
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
::close(fd_led);
delete ui;
}
void MainWindow::on_pbAll_clicked()
{
ui->pbD1->setChecked(true);
ui->pbD3->setChecked(true);
ui->pbD4->setChecked(true);
ui->pbD8->setChecked(true);
ui->pbD5->setChecked(true);
ui->pbD6->setChecked(true);
ui->pbD7->setChecked(true);
ui->pbD11->setChecked(true);
ui->pbD12->setChecked(true);
ioctl(fd_led, 0, 0);
ioctl(fd_led, 0, 1);
ioctl(fd_led, 0, 2);
ioctl(fd_led, 0, 3);
ioctl(fd_led, 0, 4);
ioctl(fd_led, 0, 5);
ioctl(fd_led, 0, 6);
ioctl(fd_led, 0, 7);
ioctl(fd_led, 0, 8);
}
void MainWindow::on_pbNone_clicked()
{
ui->pbD1->setChecked(false);
ui->pbD3->setChecked(false);
ui->pbD4->setChecked(false);
ui->pbD8->setChecked(false);
ui->pbD5->setChecked(false);
ui->pbD6->setChecked(false);
ui->pbD7->setChecked(false);
ui->pbD11->setChecked(false);
ui->pbD12->setChecked(false);
ioctl(fd_led, 1, 0);
ioctl(fd_led, 1, 1);
ioctl(fd_led, 1, 2);
ioctl(fd_led, 1, 3);
ioctl(fd_led, 1, 4);
ioctl(fd_led, 1, 5);
ioctl(fd_led, 1, 6);
ioctl(fd_led, 1, 7);
ioctl(fd_led, 1, 8);
}
void MainWindow::on_pbD3_clicked()
{
if (ui->pbD3->isChecked())
{
ioctl(fd_led, 0, 0);
}
else
ioctl(fd_led, 1, 0);
}
void MainWindow::on_pbD1_clicked()
{
if (ui->pbD1->isChecked())
{
ioctl(fd_led, 0, 1);
}
else
ioctl(fd_led, 1, 1);
}
void MainWindow::on_pbD4_clicked()
{
if (ui->pbD4->isChecked())
{
ioctl(fd_led, 0, 2);
}
else
ioctl(fd_led, 1, 2);
}
void MainWindow::on_pbD8_clicked()
{
if (ui->pbD8->isChecked())
{
ioctl(fd_led, 0, 3);
}
else
ioctl(fd_led, 1, 3);
}
void MainWindow::on_pbD5_clicked()
{
if (ui->pbD5->isChecked())
{
ioctl(fd_led, 0, 4);
}
else
ioctl(fd_led, 1, 4);
}
void MainWindow::on_pbD6_clicked()
{
if (ui->pbD6->isChecked())
{
ioctl(fd_led, 0, 5);
}
else
ioctl(fd_led, 1, 5);
}
void MainWindow::on_pbD7_clicked()
{
if (ui->pbD7->isChecked())
{
ioctl(fd_led, 0, 6);
}
else
ioctl(fd_led, 1, 6);
}
void MainWindow::on_pbD11_clicked()
{
if (ui->pbD11->isChecked())
{
ioctl(fd_led, 0, 7);
}
else
ioctl(fd_led, 1, 7);
}
void MainWindow::on_pbD12_clicked()
{
if (ui->pbD12->isChecked())
{
ioctl(fd_led, 0, 8);
}
else
ioctl(fd_led, 1, 8);
}
void MainWindow::on_pbRun_clicked()
{
ui->pbD1->setChecked(false);
ui->pbD3->setChecked(false);
ui->pbD4->setChecked(false);
ui->pbD8->setChecked(false);
ui->pbD5->setChecked(false);
ui->pbD6->setChecked(false);
ui->pbD7->setChecked(false);
ui->pbD11->setChecked(false);
ui->pbD12->setChecked(false);
for (int i=0; i<9; i++)
{
ioctl(fd_led, 1, i);
}
for (int i=0; i<9; i++)
{
ioctl(fd_led, 0, i);
sleep(1);
}
for (int i=0; i<9; i++)
{
ioctl(fd_led, 1, i);
}
sleep(1);
for (int i=0; i<9; i++)
{
ioctl(fd_led, 0, i);
}
sleep(1);
for (int i=0; i<9; i++)
{
ioctl(fd_led, 1, i);
}
}