Testing is actually development,
and non-testing is "safe" for production use, even with some
features disabled. At least for now :-)
};
static pattern_t normal3_pattern[] = {
};
static pattern_t normal3_pattern[] = {
{ 0, 0x8 },
{ 1, 0x1 },
{ 0, 0x1 },
{ 0, 0x8 },
{ 1, 0x1 },
{ 0, 0x1 },
};
static pattern_t normal4_pattern[] = {
};
static pattern_t normal4_pattern[] = {
{ 0, 0x8 },
{ 1, 0x1 },
{ 0, 0x1 },
{ 0, 0x8 },
{ 1, 0x1 },
{ 0, 0x1 },
{
// TODO: battery critical
{
// TODO: battery critical
+#ifndef TESTING_FW
+ return normal3_pattern;
+#endif
+
if (towbar_mode)
return NULL;
if (towbar_mode)
return NULL;
{
// TODO: battery critical
{
// TODO: battery critical
+#ifndef TESTING_FW
+ return off_pattern;
+#endif
if (towbar_mode) {
switch (ambient_zone) {
case 0:
if (towbar_mode) {
switch (ambient_zone) {
case 0:
{
// TODO: battery critical
{
// TODO: battery critical
+#ifndef TESTING_FW
+ return on3_pattern;
+#endif
switch (ambient_zone) {
case 0: return dim_mode ? on2_pattern : on3_pattern;
case 1: return dim_mode ? slow1_pattern : normal2_pattern;
switch (ambient_zone) {
case 0: return dim_mode ? on2_pattern : on3_pattern;
case 1: return dim_mode ? slow1_pattern : normal2_pattern;
return buttons_setup_status0_pattern_select();
// FIXME: do something sane
return buttons_setup_status0_pattern_select();
// FIXME: do something sane
- return number_pattern(1 + ambient_zone, 1);
+ return number_pattern(1 + ambient_zone, 0);
}
pattern_t *illumination_led_pattern_select()
}
pattern_t *illumination_led_pattern_select()
#ifndef LIGHTS_H__
#define LIGHTS_H__ 1
#ifndef LIGHTS_H__
#define LIGHTS_H__ 1
#define N_LEDS 7
#define N_PWMLEDS 3
#define N_PWMLED_MODES 4
#define N_LEDS 7
#define N_PWMLEDS 3
#define N_PWMLED_MODES 4
* 1024 \
/ (1100000/(gain))))
* 1024 \
/ (1100000/(gain))))
-#define PWMLED_TESTING 1
-
static uint16_t adc_max[N_PWMLEDS] = {
static uint16_t adc_max[N_PWMLEDS] = {
MA_GAIN_TO_ADC( 400, 20),
MA_GAIN_TO_ADC( 30, 20),
MA_GAIN_TO_ADC( 800, 1)
MA_GAIN_TO_ADC( 400, 20),
MA_GAIN_TO_ADC( 30, 20),
MA_GAIN_TO_ADC( 800, 1)
};
static uint16_t adc_vals[N_PWMLEDS*N_PWMLED_MODES] = {
};
static uint16_t adc_vals[N_PWMLEDS*N_PWMLED_MODES] = {
/* pwmled0 */
MA_GAIN_TO_ADC( 50, 20),
/* pwmled0 */
MA_GAIN_TO_ADC( 50, 20),
- MA_GAIN_TO_ADC( 150, 20),
- MA_GAIN_TO_ADC( 250, 20),
- MA_GAIN_TO_ADC( 350, 20),
+ MA_GAIN_TO_ADC( 100, 20),
+ MA_GAIN_TO_ADC( 200, 20),
+ MA_GAIN_TO_ADC( 300, 20),
/* pwmled1 */
MA_GAIN_TO_ADC( 5, 20),
MA_GAIN_TO_ADC( 10, 20),
MA_GAIN_TO_ADC( 15, 20),
MA_GAIN_TO_ADC( 20, 20),
/* pwmled2 */
/* pwmled1 */
MA_GAIN_TO_ADC( 5, 20),
MA_GAIN_TO_ADC( 10, 20),
MA_GAIN_TO_ADC( 15, 20),
MA_GAIN_TO_ADC( 20, 20),
/* pwmled2 */
+ MA_GAIN_TO_ADC( 50, 1),
- MA_GAIN_TO_ADC( 200, 1),
- MA_GAIN_TO_ADC( 300, 1),
- MA_GAIN_TO_ADC( 400, 1)
+ MA_GAIN_TO_ADC( 150, 1),
+ MA_GAIN_TO_ADC( 200, 1)
#else
/* pwmled0 */
MA_GAIN_TO_ADC( 100, 20),
#else
/* pwmled0 */
MA_GAIN_TO_ADC( 100, 20),