#include <frsh.h>
-#include <error.h>
int main()
{
+ frsh_power_level_t level;
int power_levels;
- int ret;
+ double speed;
+ int terror;
- if (frsh_init())
- error(1, 0, "FRSH initialization failed\n");
+ PXW(frsh_init());
- ret = frsh_resource_get_num_power_levels(FRSH_RT_LCD,
- 0, &power_levels);
- if (ret) PERROR_AND_EXIT(ret, "frsh_resource_get_num_power_levels");
+ PXW(frsh_resource_get_num_power_levels(FRSH_RT_LCD, 0, &power_levels));
printf("Number of power levels suppoerted: %d\n", power_levels);
if (power_levels == 1)
PERROR_AND_EXIT(EINVAL, "Different power levels not supported");
-
- printf("Starting...\n");
-
- sleep(5);
- ret = frsh_resource_set_power_level(FRSH_RT_LCD,
- 0, FRSH_PLT_HIGH);
- if (ret) PERROR_AND_EXIT(ret, "frsh_resource_set_power_level");
- printf("FRSH_PLT_MEDIUM correctly set\n");
-
- sleep(5);
- ret = frsh_resource_set_power_level(FRSH_RT_LCD,
- 0, FRSH_PLT_MEDIUM);
- if (ret) PERROR_AND_EXIT(ret, "frsh_resource_set_power_level");
- printf("FRSH_PLT_MEDIUM correctly set\n");
-
- sleep(5);
- ret = frsh_resource_set_power_level(FRSH_RT_LCD,
- 0, FRSH_PLT_LOW);
- if (ret) PERROR_AND_EXIT(ret, "frsh_resource_set_power_level");
- printf("FRSH_PLT_LOW correctly set\n");
-
- return 0;
+
+ PXW(frsh_resource_get_power_level(FRSH_RT_LCD, 0, &level));
+ PXW(frsh_resource_get_speed(FRSH_RT_LCD, 0, level, &speed));
+ printf("Starting with power level %d, speed = %f\n", level, speed);
+
+ sleep(3);
+ PXW(frsh_resource_set_power_level(FRSH_RT_LCD, 0, FRSH_PLT_HIGH));
+ PXW(frsh_resource_get_power_level(FRSH_RT_LCD, 0, &level));
+ PXW(frsh_resource_get_speed(FRSH_RT_LCD, 0, level, &speed));
+ printf("%d (FRSH_PLT_HIGH) correctly set, speed = %f\n", level, speed);
+
+ sleep(3);
+ PXW(frsh_resource_set_power_level(FRSH_RT_LCD, 0, FRSH_PLT_MEDIUM));
+ PXW(frsh_resource_get_power_level(FRSH_RT_LCD, 0, &level));
+ PXW(frsh_resource_get_speed(FRSH_RT_LCD, 0, level, &speed));
+ printf("%d (FRSH_PLT_MEDIUM) correctly set, speed = %f\n", level, speed);
+
+ sleep(3);
+ PXW(frsh_resource_set_power_level(FRSH_RT_LCD, 0, FRSH_PLT_LOW));
+ PXW(frsh_resource_get_power_level(FRSH_RT_LCD, 0, &level));
+ PXW(frsh_resource_get_speed(FRSH_RT_LCD, 0, level, &speed));
+ printf("%d (FRSH_PLT_LOW) correctly set, speed = %f\n", level, speed);
+
+ return 0;
}