From ca568fc7aee62e52317db379d3c6ec2ade8c29ef Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Wed, 14 Feb 2024 19:08:15 +0100 Subject: [PATCH] add read gamma values in --- src/kds_s2000w_handler_opts.c | 16 ++++++++++++++-- src/kds_s2000w_option_descriptors.c | 4 ++++ src/kds_s2000w_option_descriptors.h | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index 2d9ae9f..51b7b32 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -8,7 +8,7 @@ extern current_state* state; extern response* resp; extern json_object* resp_config; extern json_object* config; -char gamma_table[4][256]; +int gamma_table[4][256]; void _write_string_value(json_object* value_object, void* value) { @@ -120,7 +120,7 @@ void kds_s2000w_handler_get_option(int option, void* value) json_object* value_object = NULL; switch(option) { case 0: - const int COUNT_CUSTOM_OPTIONS = 3; + const int COUNT_CUSTOM_OPTIONS = 7; _load_options(); int* int_value_ptr = (int*) value; *int_value_ptr = json_object_object_length(config) + COUNT_CUSTOM_OPTIONS; @@ -213,6 +213,18 @@ void kds_s2000w_handler_get_option(int option, void* value) value_object = json_object_object_get(config, "ScanSource"); _write_string_value(value_object, value); break; + case 24: + memcpy(value, gamma_table[0], sizeof(int) * 256); + break; + case 25: + memcpy(value, gamma_table[1], sizeof(int) * 256); + break; + case 26: + memcpy(value, gamma_table[2], sizeof(int) * 256); + break; + case 27: + memcpy(value, gamma_table[3], sizeof(int) * 256); + break; default: break; } diff --git a/src/kds_s2000w_option_descriptors.c b/src/kds_s2000w_option_descriptors.c index a02de7c..9033fd1 100644 --- a/src/kds_s2000w_option_descriptors.c +++ b/src/kds_s2000w_option_descriptors.c @@ -637,6 +637,10 @@ void kds_s2000w_option_descriptor_init_option_descriptors() descriptor_array[22] = _kds_s2000w_option_descriptor_max_document_length(); descriptor_array[23] = _kds_s2000w_option_descriptor_scan_source(); descriptor_array[24] = _kds_s2000w_option_descriptor_config_reset(); + descriptor_array[25] = _kds_s2000w_option_descriptor_gamma_vector(); + descriptor_array[26] = _kds_s2000w_option_descriptor_gamma_vector_r(); + descriptor_array[27] = _kds_s2000w_option_descriptor_gamma_vector_g(); + descriptor_array[28] = _kds_s2000w_option_descriptor_gamma_vector_b(); } void kds_s2000w_option_descriptor_free_option_descriptors() diff --git a/src/kds_s2000w_option_descriptors.h b/src/kds_s2000w_option_descriptors.h index c057e75..11f8fe7 100644 --- a/src/kds_s2000w_option_descriptors.h +++ b/src/kds_s2000w_option_descriptors.h @@ -2,7 +2,7 @@ #define KDS_S2000W_OPTION_DESCRIPTORS_H #include -#define MAX_OPTION_COUNT 25 +#define MAX_OPTION_COUNT 29 void kds_s2000w_option_descriptor_init_option_descriptors(); void kds_s2000w_option_descriptor_free_option_descriptors(); -- 2.39.5