/* * cppmain.cc * * Created on: Jul 4, 2023 * Author: heck */ #include "cppmain.h" #include "main.h" #include "usbd_cdc_if.h" #include "dac.h" #include #include #include #include "limits" const double pi{ std::acos(-1) }; void log(const std::string &msg) { std::string out{ msg }; out.append("\r\n"); CDC_Transmit_FS((uint8_t *)out.data(), out.size()); } void log(std::string &&msg) { log(msg); } void set_dac_1(uint32_t val) { HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_L, val); } void set_dac_2(uint32_t val) { HAL_DAC_SetValue(&hdac, DAC_CHANNEL_2, DAC_ALIGN_12B_L, val); } void cppmain(void) { HAL_DAC_Start(&hdac, DAC_CHANNEL_1); long t{ 0 }; while (true) { unsigned char res = t * ((t >> 12 | t >> 8) & 63 & t >> 4); set_dac_1((res % 256) * 100); for (int g = 0; g < 6000; g++) {} t++; t %= (std::numeric_limits::max() - 1); } }