Skip to content
Snippets Groups Projects
Select Git revision
  • ddebc93cee1b39eea4cc65a1fdc54dff1d2dc720
  • master default protected
  • backslash
  • nickname-match-configs
  • genofire/leds_rgb_get_state
  • genofire/rockets-state
  • genofire/ble-follow-py
  • plaetzchen/ios-workaround
  • blinkisync-as-preload
  • genofire/haule-ble-fs-deactive
  • schneider/max30001-pycardium
  • schneider/max30001-epicaridum
  • schneider/max30001
  • schneider/stream-locks
  • ios-workarounds
  • schneider/fundamental-test
  • schneider/ble-buffers
  • schneider/maxim-sdk-update
  • ch3/splashscreen
  • koalo/bhi160-works-but-dirty
  • koalo/wip/i2c-for-python
  • v1.9
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
34 results

leds.c

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    leds.c 1.99 KiB
    #include "leds.h"
    #include "pmic.h"
    //#include "FreeRTOS.h"
    //#include "task.h"
    
    //TODO: create smth like vTaskDelay(pdMS_TO_TICKS(//put ms here)) for us, remove blocking delay from /lib/leds.c to avoid process blocking
    
    void epic_leds_set(int led, uint8_t r, uint8_t g, uint8_t b)
    {
    	leds_prep(led, r, g, b);
    	leds_update_power();
    	leds_update();
    }
    
    void epic_leds_set_hsv(int led, float h, float s, float v)
    {
    	leds_prep_hsv(led, h, s, v);
    	leds_update_power();
    	leds_update();
    }
    
    void epic_leds_prep(int led, uint8_t r, uint8_t g, uint8_t b)
    {
    	leds_prep(led, r, g, b);
    }
    
    void epic_leds_prep_hsv(int led, float h, float s, float v)
    {
    	leds_prep_hsv(led, h, s, v);
    }
    
    void epic_leds_set_all(uint8_t *pattern_ptr, uint8_t len)
    {
    	uint8_t(*pattern)[3] = (uint8_t(*)[3])pattern_ptr;
    	for (int i = 0; i < len; i++) {
    		leds_prep(i, pattern[i][0], pattern[i][1], pattern[i][2]);
    	}
    	leds_update_power();
    	leds_update();
    }
    
    void epic_leds_set_all_hsv(float *pattern_ptr, uint8_t len)
    {
    	float(*pattern)[3] = (float(*)[3])pattern_ptr;
    	for (int i = 0; i < len; i++) {
    		leds_prep_hsv(i, pattern[i][0], pattern[i][1], pattern[i][2]);
    	}
    	leds_update_power();
    	leds_update();
    }
    
    void epic_leds_dim_top(uint8_t value)
    {
    	leds_set_dim_top(value);
    	leds_update();
    }
    
    void epic_leds_dim_bottom(uint8_t value)
    {
    	leds_set_dim_bottom(value);
    	leds_update();
    }
    
    void epic_leds_set_rocket(int led, uint8_t value)
    {
    	value = value > 31 ? 31 : value;
    	pmic_set_led(led, value);
    }
    
    void epic_set_flashlight(bool power)