@@ -29,6 +29,10 @@ void qt_set_sequence_auto_mnemonic(bool);
29
29
extern void qt_mac_set_dock_menu (QMenu *);
30
30
#endif
31
31
32
+ static QMutex blink1mutex;
33
+ static blink1_device* blink1devs[16 ];
34
+ static int blink1devcount;
35
+
32
36
#include " patternsReadOnly.h"
33
37
34
38
enum {
@@ -65,8 +69,10 @@ MainWindow::MainWindow(QWidget *parent) :
65
69
mode = NONE;
66
70
duplicateCounter=0 ;
67
71
68
- httpserver= new HttpServer ();
72
+ httpserver = new HttpServer ();
69
73
httpserver->setController (this );
74
+ connect ( httpserver, SIGNAL (blink1SetColorById (QColor,int ,QString,int )),
75
+ this , SLOT (blink1SetColorById (QColor,int ,QString,int )) );
70
76
71
77
blink1_enumerate ();
72
78
blink1dev = blink1_open (); // do initial enumerate and open so refreshBlink1State works FIXME
@@ -205,14 +211,22 @@ void MainWindow::refreshBlink1State()
205
211
blink1_disableDegamma ();
206
212
}
207
213
qDebug () << " --- refreshBlink1State: refreshing:" << refreshCounter++;
208
- // blink1mutex.lock();
209
-
214
+
210
215
blink1_close (blink1dev); // blink1_close checks for null
211
216
blink1dev=NULL ;
217
+ // close all blink1s
218
+ for ( int i=0 ; i<blink1devcount; i++) {
219
+ blink1_close ( blink1devs[i] );
220
+ }
221
+
222
+ blink1devcount = blink1_enumerate ();
223
+ // open up all blink1s
224
+ for ( int i=0 ; i<blink1devcount; i++ ) {
225
+ blink1devs[i] = blink1_openById ( i );
226
+ qDebug () << " refreshBlink1State: opened blink1 #" << i <<" :" <<blink1devs[i];
227
+ }
212
228
213
229
qDebug () << " refreshBlink1State: opening blink1Index:" << QString::number (blink1Index,16 );
214
- blink1_enumerate ();
215
- // qDebug() << "refreshBlink1State: enumerated";
216
230
blink1dev = blink1_openById ( blink1Index );
217
231
218
232
qDebug () << " refreshBlink1State: opened" ;
@@ -229,7 +243,6 @@ void MainWindow::refreshBlink1State()
229
243
blink1Id = " none" ;
230
244
}
231
245
232
- // blink1mutex.unlock();
233
246
qDebug () << " --- refreshBlink1State: done refreshing" ;
234
247
235
248
blinkStatusAction->setText (blinkStatus);
@@ -277,23 +290,32 @@ void MainWindow::blink1Blink( QString blink1serialstr, QString colorstr, int mil
277
290
void MainWindow::blink1SetColorById ( QColor color, int millis, QString blink1serialstr, int ledn )
278
291
{
279
292
// if( blink1serialstr=="" ) return;
280
- qDebug () << " \n *** blink1SetColorById:" << blink1serialstr<< " color:" <<color << " ms:" <<millis << " blink1Id:" <<blink1Id;
293
+ qDebug () << " *** blink1SetColorById:" << blink1serialstr<< " color:" <<color << " ms:" <<millis << " blink1Id:" <<blink1Id;
281
294
bool ok;
282
295
int blink1ser = blink1serialstr.toLong (&ok,16 );
283
- bool maindev = ( blink1serialstr == blink1Id || blink1ser==0 ) ;
284
- qDebug () << " blink1SetColorById: blink1ser:" <<blink1ser<< " maindev:" <<maindev;
285
- // blink1mutex.lock();
286
- blink1_device* bdev = (!maindev) ? blink1_openById ( blink1ser ) : blink1dev;
296
+ if ( blink1ser > blink1_max_devices ) { // serial not id
297
+ blink1ser = blink1_getCacheIndexBySerial ( blink1serialstr.toStdString ().c_str () );
298
+ if ( blink1ser == -1 ) blink1ser = 0 ; // in case bad serial provided
299
+ }
300
+
301
+ bool ismaindev = ( blink1serialstr == blink1Id || blink1ser==0 ) ;
302
+ qDebug () << " blink1SetColorById: blink1ser:" <<blink1ser<< " ismaindev:" <<ismaindev;
303
+
304
+ blink1_device* bdev = (!ismaindev) ? blink1devs[ blink1ser ] : blink1dev;
305
+ // blink1_device* bdev = (!ismaindev) ? blink1_openById( blink1ser ) : blink1dev;
287
306
if ( bdev ) {
288
307
qDebug () << " blink1SetColorById: fading" ;
289
308
blink1_fadeToRGBN (bdev, millis, color.red (),color.green (),color.blue (), ledn);
290
309
}
291
- if ( !maindev ) {
292
- qDebug () << " blink1SetColorById: closing not main device" ;
293
- blink1_close (bdev);
310
+ else {
311
+ qDebug () << " blink1SetColorById: null bdev" ;
312
+ }
313
+ if ( !ismaindev ) {
314
+ // qDebug() << "blink1SetColorById: closing not main device";
315
+ // blink1_close(bdev);
294
316
}
295
- // blink1mutex.unlock();
296
- // QThread::sleep (10);
317
+
318
+ // QThread::msleep (10); // no
297
319
qDebug () << " *** blink1SetColorById: done" ;
298
320
}
299
321
@@ -406,7 +428,7 @@ void MainWindow::updateInputs()
406
428
emailsIterator->next ();
407
429
QString mailname=emailsIterator->key ();
408
430
// qDebug() << "updateInputs: "<< mailname;
409
- addToLog (mailname);
431
+ addToLog (" email: " + mailname);
410
432
if (emails.value (mailname)->getFreqCounter ()==0 ){
411
433
emails.value (mailname)->checkMail ();
412
434
}
@@ -421,7 +443,7 @@ void MainWindow::updateInputs()
421
443
hardwaresIterator->next ();
422
444
QString name=hardwaresIterator->key ();
423
445
// qDebug() << "updateInputs: " << name;
424
- addToLog (name);
446
+ addToLog (" hardware: " + name);
425
447
if (hardwareMonitors.value (name)->getFreqCounter ()==0 ){
426
448
hardwareMonitors.value (name)->checkMonitor ();
427
449
}
@@ -470,10 +492,10 @@ void MainWindow::checkIfttt(QString txt)
470
492
QString evname = ev[" name" ].toString ();
471
493
QString evsource = ev[" source" ].toString ();
472
494
qint64 evdate = evdatestr.toLongLong ();
473
- qDebug () << " evname:" <<evname<<" evdate:" << evdate << " lastIftttDate :" <<lastIftttDate;
495
+ qDebug () << " evname:" <<evname<<" evdate:" << evdate << " recent: " <<recentIftttDate << " last :" <<lastIftttDate;
474
496
475
497
// is this event newer since last time we checked?
476
- if ( evdate > lastIftttDate ) {
498
+ if ( evdate > lastIftttDate && evdate != recentIftttDate ) {
477
499
recentIftttDate = evdate;
478
500
addRecentEvent (evdate, evname+" - " +evsource, " IFTTT" );
479
501
}
@@ -678,7 +700,7 @@ void MainWindow::loadSettings()
678
700
QString sIftttKey = settings.value (" iftttKey" , " " ).toString ();
679
701
QRegExp re (" ^[a-f0-9]+$" );
680
702
qDebug () << " loadSettings: " << sIftttKey << re.exactMatch (sIftttKey .toLower ());
681
- addToLog (sIftttKey );
703
+ addToLog (" iftttKey: " + sIftttKey );
682
704
683
705
if (sIftttKey ==" " || sIftttKey ==" none" || !re.exactMatch (sIftttKey .toLower ())){
684
706
sIftttKey =" " ;
0 commit comments