Files @ afacd0c3c31c
Branch filter:

Location: protofuse-firmware/src/main.c

NEO
Fix S file
//
// STM32F103 Template Firmware
// Copyright 2016 SeaLandAire Technologies
// Author(s): Ethan Zonca
//

#include "stm32f3xx_hal.h"
#include "config.h"

#include "watchdog.h"
#include "system.h"
#include "gpio.h"
#include "error.h"
#include "flash.h"
#include "ssd1306.h"
#include "stdio.h"
#include "adc.h"
#include "dma.h"

int main(void)
{
	sysclock_init();
	hal_init();
	gpio_init();
	ssd1306_init();
	ssd1306_drawlogo();
	ssd1306_clearscreen();
	adc_init();

	// ssd1306_drawstring(const char *dataPtr, unsigned char row, unsigned char xPos)
	ssd1306_drawstring("[ ProtoFuse ]", 0, 0);
	ssd1306_drawstring("HW v1.0   SW v0.1", 1, 0);

	uint16_t temp_counter = 0;


	flash_init();
	watchdog_init();

	// Software timers
	uint32_t last_blink_time = HAL_GetTick();


	while (1)
	{
		// Grab and transmit data
		if(HAL_GetTick() - last_blink_time > 100)
		{
			char buffer[256];
			// added stdio.h to fix implicit declaration error
			// changed battery_adc_count from int32_t to int
			snprintf(buffer, 256, "Counter: %u", temp_counter);
			ssd1306_drawstring(buffer, 2, 0);
			snprintf(buffer, 256, "i count: %u", get_viout_counts());
			ssd1306_drawstring(buffer, 3, 0);
//			HAL_GPIO_TogglePin(LED_RED);
			temp_counter++;
			last_blink_time = HAL_GetTick();
		}

		watchdog_feed();
	}
}