Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write BF TC driver code #1

Open
zhuber21 opened this issue Oct 7, 2023 · 2 comments
Open

Write BF TC driver code #1

zhuber21 opened this issue Oct 7, 2023 · 2 comments

Comments

@zhuber21
Copy link
Collaborator

zhuber21 commented Oct 7, 2023

Things to do for this driver code:

  • Implement msg() function to handle the requests formatting
  • Implement initialization of the thermometers and heaters (8? thermometers; 2? heaters)
  • Implement and test first additional method for each class (probably easiest to start with one of the get() functions, and it would be nice to start with the one to extract the temperature readings from the thermometers)

From there we should be good to flesh out the functionality as needed. There are two basic types of functions for something like this: get functions and set functions. The get functions should just return the data that you requested from the BF TC, while the set functions should change something on the BF TC (and ideally report whether they were successful or not).

@zhuber21
Copy link
Collaborator Author

zhuber21 commented Nov 9, 2023

Basic code satisfying this issue has been implemented and committed today - just needs to be tested with the BF TC

@zhuber21
Copy link
Collaborator Author

Testing revealed that the BF TC just cycles through channels without a way of setting which channel is the active channel (other than disabling all the other channels), so I've adjusted the driver functions accordingly to pull the most recent measurement (for whichever channel is most current) in the main block instead of in the Channel class. The get_latest_channel() method may need to be developed further - it is not clear whether that is always the same channel as the most recent measurement or if it changes before the measurement reported in get_latest_measurement() is updated with the newest data. If it is the later, there is a phase delay between these two methods, which may complicate how the acq() function in the agent knows when to check for new data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant