Updates from pi
This commit is contained in:
@@ -7,4 +7,6 @@ set(CMAKE_C_STANDARD 99)
|
||||
|
||||
add_subdirectory(libs)
|
||||
|
||||
configure_file(cava_config ../ COPYONLY)
|
||||
|
||||
add_subdirectory(src)
|
@@ -1,5 +1,6 @@
|
||||
# make
|
||||
cp ./bin/pixled bin/service_pixled
|
||||
install -v -D ../build/src/RpiLedBars cava_config -t /opt/pixled/
|
||||
# cp ./bin/pixled bin/service_pixled
|
||||
sudo -s bash -c "cp pixled.service /etc/systemd/system; systemctl daemon-reload"
|
||||
# sudo -s bash -c "systemctl enable pixled"
|
||||
sudo -s bash -c "systemctl restart pixled"
|
@@ -1,5 +1,7 @@
|
||||
include(FetchContent)
|
||||
|
||||
set(FETCHCONTENT_FULLY_DISCONNECTED ON)
|
||||
|
||||
FetchContent_Declare(
|
||||
logc
|
||||
GIT_REPOSITORY "https://github.com/Tropicananass/log.c.git"
|
||||
|
@@ -1,9 +1,10 @@
|
||||
[Unit]
|
||||
Description=pixled
|
||||
Description=RpiLedBars
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=pixled -n 60 -d 2
|
||||
WorkingDirectory=/opt/pixled
|
||||
ExecStart=/opt/pixled/RpiLedBars -n 60 -d 2
|
||||
Restart=always
|
||||
User=root
|
||||
Group=root
|
||||
|
@@ -106,7 +106,7 @@ void set_sensitivity(int channel, int8_t sensitivity8) {
|
||||
} else {
|
||||
param.ledbar[channel].sensitivity = sensitivity;
|
||||
}
|
||||
log_debug("Sensitivity : %f", sensitivity);
|
||||
log_debug("Sensitivity[%d] : %f", channel, sensitivity);
|
||||
}
|
||||
|
||||
void set_hue_base(int channel, int8_t hueBase8) {
|
||||
|
@@ -187,7 +187,7 @@ static int start_cava_process() {
|
||||
if (cavaPid == 0) {
|
||||
/* Child process*/
|
||||
// int fdLogOut;
|
||||
char *args[] = {"cava", "-p", "/home/pi/LedBars/RpiLedBars/cava_config", NULL};
|
||||
char *args[] = {"cava", "-p", "./cava_config", NULL};
|
||||
|
||||
/* Close reading end of the pipe */
|
||||
close(fdCavaPipe[0]);
|
||||
|
@@ -34,6 +34,8 @@
|
||||
|
||||
int client_fd = -1;
|
||||
|
||||
int channel = LED_NCHANS;
|
||||
|
||||
/***************************************************************************************************
|
||||
* Internal Function Prototypes
|
||||
**************************************************************************************************/
|
||||
@@ -77,6 +79,14 @@ void pattern_command_handler(char *payload);
|
||||
|
||||
void color_command_handler(char *payload);
|
||||
|
||||
void modulate_command_handler(char *payload);
|
||||
|
||||
void channel_command_handler(char *payload);
|
||||
|
||||
void sensitivity_command_handler(char *payload);
|
||||
|
||||
void gravity_command_handler(char *payload);
|
||||
|
||||
/***************************************************************************************************
|
||||
* External Function Definitions
|
||||
**************************************************************************************************/
|
||||
@@ -142,6 +152,18 @@ void onmessage(int fd, const unsigned char *msg, uint64_t size, int type) {
|
||||
case 'c':
|
||||
color_command_handler(payload);
|
||||
break;
|
||||
case 's':
|
||||
modulate_command_handler(payload);
|
||||
break;
|
||||
case 'h':
|
||||
channel_command_handler(payload);
|
||||
break;
|
||||
case 'e':
|
||||
sensitivity_command_handler(payload);
|
||||
break;
|
||||
case 'g':
|
||||
gravity_command_handler(payload);
|
||||
break;
|
||||
|
||||
default:
|
||||
log_warn("Unkown command in \"%s\"", msgStr);
|
||||
@@ -187,8 +209,36 @@ void color_command_handler(char *payload) {
|
||||
log_debug(" - %s", tokenArray[n]);
|
||||
}
|
||||
if (atoi(tokenArray[0]) == 0) {
|
||||
set_hue_base(LED_NCHANS, atoi(tokenArray[1]) * INT8_MAX / HUE_MAX);
|
||||
set_saturation(LED_NCHANS, atoi(tokenArray[2]) * INT8_MAX / 100);
|
||||
set_luminosity(LED_NCHANS, atoi(tokenArray[3]) * INT8_MAX / 100);
|
||||
set_hue_base(channel, atoi(tokenArray[1]) * INT8_MAX / HUE_MAX);
|
||||
set_saturation(channel, atoi(tokenArray[2]) * INT8_MAX / 100);
|
||||
set_luminosity(channel, atoi(tokenArray[3]) * INT8_MAX / 100);
|
||||
} else {
|
||||
set_saturation(channel, atoi(tokenArray[2]) * INT8_MAX / 100);
|
||||
set_luminosity(channel, atoi(tokenArray[3]) * INT8_MAX / 100);
|
||||
}
|
||||
}
|
||||
|
||||
void modulate_command_handler(char *payload) {
|
||||
bool modulate;
|
||||
modulate = strcmp(payload, "true") == 0;
|
||||
log_debug("modulate :%s", modulate ? "true" : "false");
|
||||
set_hue_auto_shift(modulate);
|
||||
}
|
||||
|
||||
void channel_command_handler(char *payload) {
|
||||
int newChannel = atoi(payload);
|
||||
if (0 <= newChannel && newChannel <= LED_NCHANS) {
|
||||
log_debug("Channel: %d", newChannel);
|
||||
channel = newChannel;
|
||||
}
|
||||
}
|
||||
|
||||
void sensitivity_command_handler(char *payload) {
|
||||
int newSensitivity = atoi(payload);
|
||||
set_sensitivity(channel, newSensitivity);
|
||||
}
|
||||
|
||||
void gravity_command_handler(char *payload) {
|
||||
int newGravity = atoi(payload);
|
||||
set_gravity(newGravity);
|
||||
}
|
Reference in New Issue
Block a user