This commit is contained in:
2026-06-12 02:55:04 -07:00
commit 30406f4f49
2040 changed files with 571534 additions and 0 deletions

29
inc/SlidePot.h Normal file
View File

@@ -0,0 +1,29 @@
// SlidePot.h
// Runs on MSPM0
// Provide functions that initialize ADC1 channel 5, PB18 and use a slide pot to measure distance
// Created: 12/29/2023
// Student names: change this to your names or look very silly
// Last modification date: change this to the last modification date or look very silly
#ifndef SLIDEPOT_H
#define SLIDEPOT_H
#include <stdint.h>
class SlidePot{ private:
uint32_t data; // raw ADC value
int32_t flag; // 0 if data is not valid, 1 if valid
uint32_t distance; // distance in 0.001cm
// distance = (slope*data+offset)/4096
uint32_t slope; // calibration coeffients
uint32_t offset;
public:
SlidePot(uint32_t m, uint32_t b); // initialize slide pot
void Init(void);
uint32_t In(void); // return last ADC sample value (0 to 4095)
void Save(uint32_t n); // save ADC, set semaphore
void Sync(void); // wait for semaphore
uint32_t Convert(uint32_t n); // convert ADC to raw sample
float FloatConvert(uint32_t n); // do not use this function
uint32_t Distance(void); // return last distance value (0 to 2000), 0.001cm
};
#endif