//
// Created by jedi on 25.06.21.
//

#include "lux.h"

#include <string.h>
#include <FreeRTOS.h>
#include <task.h>

#include <esp/spi.h>

const int signal_led_pin = 2;

const int cs0 = 15;
const int gpio4 = 4;
const int gpio5 = 5;

extern "C" void signal_led(bool state) {
    gpio_write(signal_led_pin, !state);
}

extern "C" void lux_task(void *pvParameters) {

    gpio_enable(signal_led_pin, GPIO_OUTPUT);
    gpio_enable(cs0, GPIO_OUTPUT);
    gpio_enable(gpio4, GPIO_OUTPUT);
    gpio_enable(gpio5, GPIO_OUTPUT);
    spi_init(1, SPI_MODE0, SPI_FREQ_DIV_1M, 1, SPI_BIG_ENDIAN, 1);

    uint8_t cnt = 0;

    while(1) {

        //time = sdk_system_get_time();

        spi_transfer_8(1, cnt++);
        spi_transfer_8(1, 0x00);

        spi_transfer_16(1, 0x0000);

        vTaskDelay(1000/portTICK_PERIOD_MS);
    }

    vTaskDelete(nullptr);
}