#include <iostream>
#include <stdint.h>

#include "./driver/device.hpp"
#include "./utils/BitField.hpp"

#ifdef SIMPLE_TEST

int main(void)
{
    std::cout << "test" << std::endl;
    
    BitField<uint8_t, 1, 2> bitfield_0;
    BitField<uint8_t, 5, 2> bitfield_1;

    
    std::cout << "testing bitfield 0" << std::endl;

    for(uint8_t i = 0; i < 10; i++) {

        bitfield_0 = i;
        std::cout << static_cast<uint32_t>(bitfield_0()) << std::endl;
    }

    std::cout << "testing bitfield 1" << std::endl;

    for(uint8_t i = 0; i < 10; i++) {

        bitfield_1 = i;
        std::cout << static_cast<uint32_t>(bitfield_1()) << std::endl;
    }

    Device dev();

    return 0;
}

#endif


int main(void)
{
    std::cout << "test" << std::endl;
    
    //std::cout << std::hex << ((1ULL << 2)-1) << std::endl;
    std::cout << 1ULL << std::endl;

    Device dev;

    //dev.doSomething();

    dev.status();

    //dev.doSomething();

    return 0;
}
