Subscribe
Copied to clipboard
Share
Share
Copied to clipboard
Embed
Copied to clipboard
Circuit Break - A MacroFab Podcast
Trailer
Bonus
Episode 350
Season 1
EP#350: Estimating Effort
Python Demo for Extra Life API
- Stream Date: November 5th, 2022
- Functionality so far
- Check Extralife API for donations
- This is done with the requests module
- This endpoint seems to return old and new donations
- There isn't a “new donation” end point it seems
- Get the donation IDs and compare them to a local file
- Local file is made with the pickle module
- Pickle allows you to take any data structure in python and “package it” into a binary file for storage.
- If there is a new donation ID that isn’t in the local file
- Queue up a random audio clip
- Record the donation ID to the local file
- Audio is placed through the playsound module
- Weird “bug” that short audio clips get cut off
- Add a little sleep after the call to get around it
- Auto parses the audio folder for the files
- Looks into audio file
- Gets all the file names
- Adding a new audio clip is as simple as dropping it into the folder
- Preventing truly random files
- Made a rotating buffer
- Used the collections module to implement a bi-directional “stack”
- Think like a bitwise shift but with an array of strings
- Multithreading!
- Threading module used to setup the API and Audio player queues
- API runs every 20 seconds
- Audio player runs every 30 seconds
- If a new donation, global mailbox variable increases one for each new donation.
- Audio player runs and looks at that global variable.
- Threading has a “lock” function to prevent race conditions on that global variable.
- Threading module used to setup the API and Audio player queues
- Check Extralife API for donations
- What is next?
- Play graphics in Open Broadcast Software
- OBS has some python hooks that I am just starting to learn
Chip Fab Jobs
- Need practically every engineering discipline
- Mechanical to design and maintain equipment
- Chemical for designing the masking / chemical bath processes
- Electrical for testing and validation
Estimating project time
- PCB layout
- New project revision
- About 1600 parts
- Lots of duplicates
- Things that impact timing
- Components
- Parts with pours and complex ground
- Specific trace routs like differential or snake traces
- Layers
- Duplication
- Rest day
- Cleanup day
- Components