added LCDRows support
This commit is contained in:
@@ -11,18 +11,40 @@
|
|||||||
* 2nd char denotes which line number/mode to use
|
* 2nd char denotes which line number/mode to use
|
||||||
*
|
*
|
||||||
* Setting Schema:
|
* Setting Schema:
|
||||||
* LCDLength:LCDDelay:LEDBrightness:LEDDelay
|
* LCDLength:LCDRows:LCDDelay:LEDBrightness:LEDDelay
|
||||||
* 16:5:1:3
|
* 16:2:5:0:3
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
* Line 1: #1Archamedis Status@
|
* Line 1: #1Archamedis Status@
|
||||||
* Line 2: #299% free / etc.@
|
* Line 2: #299% free / etc.@
|
||||||
* LAVG -: #324@
|
* LAVG -: #324@
|
||||||
* LSET 0: #16:5:1:3@
|
* LSET 0: #16:2:5:0:3@
|
||||||
*
|
*
|
||||||
* Output Schema:
|
* Output Schema:
|
||||||
* Multimedia Controls use single characters to denote which button was pressed
|
* 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
|
// C library
|
||||||
@@ -342,7 +364,7 @@ void handle_signal(int sig)
|
|||||||
int lock_result = 0;
|
int lock_result = 0;
|
||||||
|
|
||||||
if(sig == SIGINT) {
|
if(sig == SIGINT) {
|
||||||
fprintf(log_stream, "Stopping daemon ...\n");
|
syslog(LOG_INFO, "Received INT signal, Stopping daemon ...");
|
||||||
|
|
||||||
/* Unlock and close lockfile */
|
/* Unlock and close lockfile */
|
||||||
if(pid_fd != -1) {
|
if(pid_fd != -1) {
|
||||||
@@ -366,11 +388,12 @@ void handle_signal(int sig)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (sig == SIGHUP) {
|
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);
|
read_conf_file(1);
|
||||||
}
|
}
|
||||||
else if (sig == SIGCHLD) {
|
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 */
|
/* Send settings to receiver */
|
||||||
// Setting Schema:
|
// Setting Schema:
|
||||||
// LCDLength:LCDDelay:LEDBrightness:LEDDelay
|
// LCDLength:LCDRows:LCDDelay:LEDBrightness:LEDDelay
|
||||||
// 16:5:1:3
|
// 16:2:5:0:3
|
||||||
|
|
||||||
void send_settings() {
|
void send_settings() {
|
||||||
char myline[16];
|
char myline[16];
|
||||||
unsigned int mylen = 0;
|
unsigned int mylen = 0;
|
||||||
int write_result = 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);
|
mylen = strlen(myline);
|
||||||
write_result = write(serial_port, myline, mylen);
|
write_result = write(serial_port, myline, mylen);
|
||||||
|
|
||||||
@@ -679,6 +701,7 @@ int main(int argc, char *argv[])
|
|||||||
char *mytty = NULL;
|
char *mytty = NULL;
|
||||||
int start_daemonized = 0;
|
int start_daemonized = 0;
|
||||||
|
|
||||||
|
// TODO: fix timestamps for logfile
|
||||||
//fprintf(log_stream,"Timestamp %s\n",timestamp());
|
//fprintf(log_stream,"Timestamp %s\n",timestamp());
|
||||||
|
|
||||||
/* Open system log and write startup message to it */
|
/* Open system log and write startup message to it */
|
||||||
@@ -747,9 +770,10 @@ int main(int argc, char *argv[])
|
|||||||
/* Main loop */
|
/* Main loop */
|
||||||
serial_open_port();
|
serial_open_port();
|
||||||
send_settings();
|
send_settings();
|
||||||
|
send_settings(); // yes twice due to the arduino getting reset on 1st access on linux (if not modified)
|
||||||
init_millis();
|
init_millis();
|
||||||
while(running == 1) {
|
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) {
|
if(debug) {
|
||||||
fprintf(log_stream,"Elapsed time: %ld milliseconds\n", millis());
|
fprintf(log_stream,"Elapsed time: %ld milliseconds\n", millis());
|
||||||
|
|||||||
Reference in New Issue
Block a user