BeoChipMainForm.qt.C
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #include "Qt4/BeoChipMainForm.qt.H"
00039
00040
00041
00042
00043
00044 BeoChipMainForm::BeoChipMainForm( QWidget* parent, Qt::WindowFlags fl ) :
00045 QDialog(parent, fl)
00046 {
00047 setupUi(this);
00048 }
00049
00050
00051 BeoChipMainForm::~BeoChipMainForm()
00052 { }
00053
00054
00055 void BeoChipMainForm::init(ModelManager* mgr, nub::soft_ref<BeoChip> thebc)
00056 {
00057 manager = mgr;
00058 bc = thebc;
00059
00060
00061 labelSerDev->setText((std::string("Serial Dev: ") +
00062 bc->getModelParamString("BeoChipDeviceName")).c_str());
00063
00064
00065 bc->resetChip();
00066
00067
00068 startTimer(25);
00069 }
00070
00071
00072 void BeoChipMainForm::beoChipReset()
00073 {
00074 LINFO("Resetting form...");
00075 sliderSSC0->setValue(127); servo[0] = 127;
00076 sliderSSC1->setValue(127); servo[1] = 127;
00077 sliderSSC2->setValue(127); servo[2] = 127;
00078 sliderSSC3->setValue(127); servo[3] = 127;
00079 sliderSSC4->setValue(127); servo[4] = 127;
00080 sliderSSC5->setValue(127); servo[5] = 127;
00081 sliderSSC6->setValue(127); servo[6] = 127;
00082 sliderSSC7->setValue(127); servo[7] = 127;
00083 checkBoxOut0->setChecked(false); dout[0] = false;
00084 checkBoxOut1->setChecked(false); dout[1] = false;
00085 checkBoxOut2->setChecked(false); dout[2] = false;
00086 checkBoxOut3->setChecked(false); dout[3] = false;
00087 checkDebounce->setChecked(true); debounce = false;
00088 for (int i = 0; i < 5; i ++) din[i] = true;
00089 for (int i = 0; i < 2; i ++) { ain[i] = 0; pin[i] = 0; }
00090
00091
00092 bc->lcdClear();
00093 bc->lcdPrintf(0, 0, "test-BeoChipQt 1.0");
00094 bc->lcdSetAnimation(2);
00095 bc->captureAnalog(0, true);
00096 bc->captureAnalog(1, true);
00097 bc->debounceKeyboard(true);
00098 bc->captureKeyboard(true);
00099 bc->capturePulse(0, true);
00100 bc->capturePulse(1, true);
00101 for (int i = 0; i < 7; i ++) bc->setServoRaw(i, 127);
00102 for (int i = 0; i < 3; i ++) bc->setDigitalOut(i, false);
00103 }
00104
00105
00106 void BeoChipMainForm::showDin(const int num, const bool state)
00107 {
00108 if (num < 0 || num > 4) LERROR("Invalid digital input number %d ignored", num);
00109 else din[num] = state;
00110 }
00111
00112
00113 void BeoChipMainForm::showAnalog(const int num, const int val)
00114 {
00115 if (num < 0 || num > 1) LERROR("Invalid analog input number %d ignored", num);
00116 else ain[num] = val;
00117 }
00118
00119
00120 void BeoChipMainForm::showPWM(const int num, const int val)
00121 {
00122 if (num < 0 || num > 1) LERROR("Invalid PWM input number %d ignored", num);
00123 else pin[num] = val;
00124 }
00125
00126
00127 void BeoChipMainForm::sliderSSC0_valueChanged( int val )
00128 { servo[0] = val; }
00129
00130 void BeoChipMainForm::sliderSSC1_valueChanged( int val )
00131 { servo[1] = val; }
00132
00133 void BeoChipMainForm::sliderSSC2_valueChanged( int val )
00134 { servo[2] = val; }
00135
00136 void BeoChipMainForm::sliderSSC3_valueChanged( int val )
00137 { servo[3] = val; }
00138
00139 void BeoChipMainForm::sliderSSC4_valueChanged( int val )
00140 { servo[4] = val; }
00141
00142 void BeoChipMainForm::sliderSSC5_valueChanged( int val )
00143 { servo[5] = val; }
00144
00145 void BeoChipMainForm::sliderSSC6_valueChanged( int val )
00146 { servo[6] = val; }
00147
00148 void BeoChipMainForm::sliderSSC7_valueChanged( int val )
00149 { servo[7] = val; }
00150
00151
00152 void BeoChipMainForm::radioButtonDec_clicked()
00153 {
00154 radioButtonHex->setChecked(FALSE);
00155 radioButtonDec->setChecked(TRUE);
00156 lCDNumberSSC0->setDecMode();
00157 lCDNumberSSC1->setDecMode();
00158 lCDNumberSSC2->setDecMode();
00159 lCDNumberSSC3->setDecMode();
00160 lCDNumberSSC4->setDecMode();
00161 lCDNumberSSC5->setDecMode();
00162 lCDNumberSSC6->setDecMode();
00163 lCDNumberSSC7->setDecMode();
00164 lCDNumberA0->setDecMode();
00165 lCDNumberA1->setDecMode();
00166 lCDNumberPWM0->setDecMode();
00167 lCDNumberPWM1->setDecMode();
00168 }
00169
00170
00171 void BeoChipMainForm::radioButtonHex_clicked()
00172 {
00173 radioButtonHex->setChecked(TRUE);
00174 radioButtonDec->setChecked(FALSE);
00175 lCDNumberSSC0->setHexMode();
00176 lCDNumberSSC1->setHexMode();
00177 lCDNumberSSC2->setHexMode();
00178 lCDNumberSSC3->setHexMode();
00179 lCDNumberSSC4->setHexMode();
00180 lCDNumberSSC5->setHexMode();
00181 lCDNumberSSC6->setHexMode();
00182 lCDNumberSSC7->setHexMode();
00183 lCDNumberA0->setHexMode();
00184 lCDNumberA1->setHexMode();
00185 lCDNumberPWM0->setHexMode();
00186 lCDNumberPWM1->setHexMode();
00187 }
00188
00189
00190 void BeoChipMainForm::checkDebounce_stateChanged( int s )
00191 { if (s) debounce = true; else debounce = false; }
00192
00193
00194 void BeoChipMainForm::pushButtonReset_clicked()
00195 {
00196 LINFO("Reset button clicked!");
00197 bc->resetChip();
00198 }
00199
00200
00201 void BeoChipMainForm::checkBoxOut3_stateChanged( int s )
00202 { if (s) dout[3] = true; else dout[3] = false; }
00203
00204 void BeoChipMainForm::checkBoxOut2_stateChanged( int s )
00205 { if (s) dout[2] = true; else dout[2] = false; }
00206
00207 void BeoChipMainForm::checkBoxOut1_stateChanged( int s )
00208 { if (s) dout[1] = true; else dout[1] = false; }
00209
00210 void BeoChipMainForm::checkBoxOut0_stateChanged( int s )
00211 { if (s) dout[0] = true; else dout[0] = false; }
00212
00213
00214 void BeoChipMainForm::timerEvent(QTimerEvent *e)
00215 {
00216
00217 for (int i = 0; i < 8; i ++) bc->setServoRaw(i, servo[i]);
00218 for (int i = 0; i < 4; i ++) bc->setDigitalOut(i, dout[i]);
00219 bc->debounceKeyboard(debounce);
00220
00221
00222 digin0->display(din[0] ? 1 : 0);
00223 digin1->display(din[1] ? 1 : 0);
00224 digin2->display(din[2] ? 1 : 0);
00225 digin3->display(din[3] ? 1 : 0);
00226 digin4->display(din[4] ? 1 : 0);
00227 lCDNumberA0->display(ain[0]);
00228 lCDNumberA1->display(ain[1]);
00229 lCDNumberPWM0->display(pin[0]);
00230 lCDNumberPWM1->display(pin[1]);
00231 }
00232
00233
00234
00235
00236
00237
00238