diff --git a/apps/Makefile b/apps/Makefile index bb3ef07..f1470e9 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -1,4 +1,4 @@ -all: cit citin flashprog modt ddtest setmod ddflash setmod2 pls +all: cit citin flashprog modt ddtest setmod ddflash setmod2 pls setmod3 cit: cit.c $(CC) -o cit cit.c -lpthread @@ -12,6 +12,9 @@ setmod: setmod.c setmod2: setmod2.c $(CC) -o setmod2 setmod2.c -I../include/ +setmod3: setmod3.c + $(CC) -o setmod3 setmod3.c -I../include/ + flashprog: flashprog.c $(CC) -o flashprog flashprog.c diff --git a/apps/setmod3.c b/apps/setmod3.c new file mode 100644 index 0000000..ed3a6f2 --- /dev/null +++ b/apps/setmod3.c @@ -0,0 +1,77 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +static int set_property(int fd, uint32_t cmd, uint32_t data) +{ + struct dtv_property p; + struct dtv_properties c; + int ret; + + p.cmd = cmd; + c.num = 1; + c.props = &p; + p.u.data = data; + ret = ioctl(fd, FE_SET_PROPERTY, &c); + if (ret < 0) { + fprintf(stderr, "FE_SET_PROPERTY returned %d\n", errno); + return -1; + } + return 0; +} + +static int get_property(int fd, uint32_t cmd, uint32_t *data) +{ + struct dtv_property p; + struct dtv_properties c; + int ret; + + p.cmd = cmd; + c.num = 1; + c.props = &p; + ret = ioctl(fd, FE_GET_PROPERTY, &c); + if (ret < 0) { + fprintf(stderr, "FE_GET_PROPERTY returned %d\n", ret); + return -1; + } + *data = p.u.data; + return 0; +} + + + +int main() +{ + int fd; + struct dvb_mod_params mp; + struct dvb_mod_channel_params mc; + uint32_t data; + + fd = open("/dev/dvb/adapter0/mod0", O_RDONLY); + + /* gain 0-255 */ + get_property(fd, MODULATOR_GAIN, &data); + printf("Modulator gain = %u\n", data); + set_property(fd, MODULATOR_GAIN, 120); + get_property(fd, MODULATOR_GAIN, &data); + printf("Modulator gain = %u\n", data); + + get_property(fd, MODULATOR_STATUS, &data); + printf("Modulator status = %u\n", data); + + + //set_property(fd, MODULATOR_RESET, 0); + close(fd); +} +