Exemplo n.º 1
0
static void ps_child(void *args)
{
	for (;;) {
		gpio_toggle_bit(ERROR_LED_PORT, ERROR_LED_PIN);
		gpio_toggle_bit(GPIOA, GPIO_MEMLCD_EXTCOMIN);
		os_process_sleep(40);
	}
}
Exemplo n.º 2
0
void shiftOut(uint8 dataPin, uint8 clockPin, uint8 bitOrder, uint8 value) {
    digitalWrite(clockPin, LOW);
    for (int i = 0; i < 8; i++) {
        int bit = bitOrder == LSBFIRST ? i : (7 - i);
        digitalWrite(dataPin, (value >> bit) & 0x1);
		gpio_toggle_bit(PIN_MAP[clockPin].gpio_device, PIN_MAP[clockPin].gpio_bit);// togglePin(clockPin);
		gpio_toggle_bit(PIN_MAP[clockPin].gpio_device, PIN_MAP[clockPin].gpio_bit);// togglePin(clockPin);  
    }
}
Exemplo n.º 3
0
void buzzer_handler(void) {
	if (piezo_out)
		gpio_toggle_bit(PIN_MAP[BUZZER_PWM].gpio_device, PIN_MAP[BUZZER_PWM].gpio_bit);
	if (headphones_out)
		gpio_toggle_bit(PIN_MAP[HP_COMBINED].gpio_device,PIN_MAP[HP_COMBINED].gpio_bit);

	buzz_count++;
	if(buzz_count == buzz_time) {
		timer_pause(TIMER2);
		gpio_write_bit(PIN_MAP[BUZZER_PWM].gpio_device,PIN_MAP[BUZZER_PWM].gpio_bit,0);
		gpio_write_bit(PIN_MAP[HP_COMBINED].gpio_device,PIN_MAP[HP_COMBINED].gpio_bit,0);
		headphones_out = false;
	}
}
Exemplo n.º 4
0
void togglePin(uint8 pin) {
    if (pin >= BOARD_NR_GPIO_PINS) {
        return;
    }

    gpio_toggle_bit(PIN_MAP[pin].gpio_device, PIN_MAP[pin].gpio_bit);
}
Exemplo n.º 5
0
/*
 * @brief   assert fail alarm
 * @param   none
 * @return  none
 * @note    may not needed
 */
void port_assert_fail(void)
{
	while (1) {
		gpio_toggle_bit(ERROR_LED_PORT, ERROR_LED_PIN);
		__busy_wait(250);
	}
}
Exemplo n.º 6
0
void buzzer_handler(void) {
  gpio_toggle_bit(PIN_MAP[BUZZER_PWM].gpio_device, PIN_MAP[BUZZER_PWM].gpio_bit);

  buzz_count++;
  if(buzz_count == buzz_time) {
    timer_pause(TIMER2);
  }
}
Exemplo n.º 7
0
int main(void)
{
    int i = 0;
    char ch = 0;
    os_status stat = OS_OK;

    stat = os_init();
    stat = stat;
    stm32utils_system_init(); 

    /* led flashes -> sign of system reset ok */
    for(i = 0; i < 6; i++) {
        gpio_toggle_bit(GPIOA, 0);
        delay(50);
    }

    /* Boot Animation */
    os_putchar(0x0C);   /* clear screen */

    os_printf("Booting...\r\n\r\n");
    os_printf("                       _\r\n");
    os_printf("     _                / /\r\n");
    os_printf("    | |    ___  __ _ _| |_ __ _ _  __  __ _   _   _\r\n");
    os_printf("    | |   / _ \\/ _` |_   _/ _` | \\/ _)/ _` | / / / /\r\n");
    os_printf("    | |_ _  __( (_| | | |  (_| | | | ( (_| | \\ \\ \\ \\\r\n");
    os_printf("    |_ _ _\\___|\\__,_| | | \\__, / | |  \\__,_| /_/ /_/\r\n");
    os_printf("                      /_/ \\_ _/\r\n" );
    os_printf("\r\n");
    os_printf("Ousia "); os_printf(VERSION); os_printf(" "); os_printf(VER_NAME);
    os_printf("\r\n\tby Librae - [email protected]");
    os_printf("\r\n\r\n");
    os_printf("Hello, Ousia ~\r\n");

    for (;;) {
        if (USART1->flag_trigger) {
            for (i = 0; i < USART1->cnt_trigger; i++) {
                ch = usart_getc(USART1);
                if (ch) {
                    switch( ch ) {
                    case '\r':
                        os_printf( "\r\n" );
                        break;
                    case '\b':
                        os_printf( "\b \b" );
                        break;
                    default:
                        os_printf( "%c", ch );
                        break;
                    }
                }
            }
            USART1->cnt_trigger = 0;
        }
        delay(10);
    }

    return 0;
}
Exemplo n.º 8
0
void buzzer_blocking_buzz(float time) {
  // buzz
  uint32_t frequency = 4100;
  uint32_t t = 4100*time;//((time*1000000)/frequency)*2;
  for(uint32_t n=0;n<t;n++) {
    gpio_toggle_bit(PIN_MAP[BUZZER_PWM].gpio_device, PIN_MAP[BUZZER_PWM].gpio_bit);
    delay_us(frequency/2);
  }
  gpio_write_bit(PIN_MAP[BUZZER_PWM].gpio_device,PIN_MAP[BUZZER_PWM].gpio_bit,0);
}
Exemplo n.º 9
0
/**
 * Buzz for 'time' microseconds. Blocking.
 *  Generates a square wave on the buzzer
 */
void buzzer_blocking_buzz(uint32_t time) {
  // buzz
  uint32_t frequency = 440; // 440 Hz
  uint32_t t = time*frequency*2/1e6; // Number of pulses to generate
  for(uint32_t n=0;n<t;n++) {
    gpio_toggle_bit(PIN_MAP[BUZZER_PWM].gpio_device, PIN_MAP[BUZZER_PWM].gpio_bit);
    delay_us(1e6/(frequency*2));
  }
  gpio_write_bit(PIN_MAP[BUZZER_PWM].gpio_device,PIN_MAP[BUZZER_PWM].gpio_bit,0);
}
Exemplo n.º 10
0
/*
 * @brief   bsp related init
 * @param   none
 * @return  none
 * @note    none
 */
void port_bsp_init(void)
{
	int i;

	utils_board_init();
	lldbg("low level init done.\n");

	/*
	 * led flashes, sign of system starts to run
	 * FIXME at least 1000+ms to wait for usb device, or the foregoing
	 * characters may be lost, that is too long to wait ...
	 */
	for (i = 0; i < 24; i++) {
		gpio_toggle_bit(ERROR_LED_PORT, ERROR_LED_PIN);
		__busy_wait(50);
	}
}
Exemplo n.º 11
0
void fast_gpio(int maple_pin) {
    gpio_dev *dev = PIN_MAP[maple_pin].gpio_device;
    uint32 bit = PIN_MAP[maple_pin].gpio_bit;

    gpio_write_bit(dev, bit, 1);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
    gpio_toggle_bit(dev, bit);
}
Exemplo n.º 12
0
void speaker_toggle(void) {
    gpio_toggle_bit(SPEAKER_PORT, SPEAKER_PIN);
}