added LCDRows support
This commit is contained in:
@@ -11,18 +11,40 @@
|
||||
* 2nd char denotes which line number/mode to use
|
||||
*
|
||||
* Setting Schema:
|
||||
* LCDLength:LCDDelay:LEDBrightness:LEDDelay
|
||||
* 16:5:1:3
|
||||
* LCDLength:LCDRows:LCDDelay:LEDBrightness:LEDDelay
|
||||
* 16:2:5:0:3
|
||||
*
|
||||
* Example:
|
||||
* Line 1: #1Archamedis Status@
|
||||
* Line 2: #299% free / etc.@
|
||||
* LAVG -: #324@
|
||||
* LSET 0: #16:5:1:3@
|
||||
* LSET 0: #16:2:5:0:3@
|
||||
*
|
||||
* Output Schema:
|
||||
* Multimedia Controls use single characters to denote which button was pressed
|
||||
*
|
||||
* P power
|
||||
* M mute
|
||||
* m mode
|
||||
* p pause/play
|
||||
* b back
|
||||
* f forward
|
||||
* e eq
|
||||
* - vol down
|
||||
* + vol up
|
||||
* r return
|
||||
* u usb scan
|
||||
* 0 number 0
|
||||
* 1 number 1
|
||||
* 2 number 2
|
||||
* 3 number 3
|
||||
* 4 number 4
|
||||
* 5 number 5
|
||||
* 6 number 6
|
||||
* 7 number 7
|
||||
* 8 number 8
|
||||
* 9 number 9
|
||||
* R repeat
|
||||
* Z other button pressed
|
||||
*/
|
||||
|
||||
// C library
|
||||
@@ -342,7 +364,7 @@ void handle_signal(int sig)
|
||||
int lock_result = 0;
|
||||
|
||||
if(sig == SIGINT) {
|
||||
fprintf(log_stream, "Stopping daemon ...\n");
|
||||
syslog(LOG_INFO, "Received INT signal, Stopping daemon ...");
|
||||
|
||||
/* Unlock and close lockfile */
|
||||
if(pid_fd != -1) {
|
||||
@@ -366,11 +388,12 @@ void handle_signal(int sig)
|
||||
return;
|
||||
}
|
||||
else if (sig == SIGHUP) {
|
||||
syslog(LOG_INFO, "Reloading daemon config file ...");
|
||||
syslog(LOG_INFO, "Received HUP signal, Reloading daemon config file ...");
|
||||
read_conf_file(1);
|
||||
}
|
||||
else if (sig == SIGCHLD) {
|
||||
syslog(LOG_INFO, "Received SIGCHLD signal");
|
||||
syslog(LOG_INFO, "Received SIGCHLD signal... but I have no kids!.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -616,15 +639,14 @@ void send_stats(char *line_1, char *line_2, char *line_3)
|
||||
|
||||
/* Send settings to receiver */
|
||||
// Setting Schema:
|
||||
// LCDLength:LCDDelay:LEDBrightness:LEDDelay
|
||||
// 16:5:1:3
|
||||
|
||||
// LCDLength:LCDRows:LCDDelay:LEDBrightness:LEDDelay
|
||||
// 16:2:5:0:3
|
||||
void send_settings() {
|
||||
char myline[16];
|
||||
unsigned int mylen = 0;
|
||||
int write_result = 0;
|
||||
|
||||
sprintf(myline,"#0%i:%i:%i:%i@",line_length,lcd_delay,led_brightness,led_delay);
|
||||
sprintf(myline,"#0%i:%i:%i:%i:%i@",line_length,line_count,lcd_delay,led_brightness,led_delay);
|
||||
mylen = strlen(myline);
|
||||
write_result = write(serial_port, myline, mylen);
|
||||
|
||||
@@ -679,6 +701,7 @@ int main(int argc, char *argv[])
|
||||
char *mytty = NULL;
|
||||
int start_daemonized = 0;
|
||||
|
||||
// TODO: fix timestamps for logfile
|
||||
//fprintf(log_stream,"Timestamp %s\n",timestamp());
|
||||
|
||||
/* Open system log and write startup message to it */
|
||||
@@ -747,9 +770,10 @@ int main(int argc, char *argv[])
|
||||
/* Main loop */
|
||||
serial_open_port();
|
||||
send_settings();
|
||||
send_settings(); // yes twice due to the arduino getting reset on 1st access on linux (if not modified)
|
||||
init_millis();
|
||||
while(running == 1) {
|
||||
listen_server(); // listen for IR events (blocks for 1 second at a time)
|
||||
listen_server(); // listen for IR events (blocks for ~1 second at a time)
|
||||
|
||||
if(debug) {
|
||||
fprintf(log_stream,"Elapsed time: %ld milliseconds\n", millis());
|
||||
|
||||
Reference in New Issue
Block a user