Software Design Narrative Drink Master 8000 Stephen Zabrecky Software Design Narrative
Drink Master 8000 Creates a variety of water-based drinks from powders stored in the device. Two holding tanks for storage of multiple beverages. Device can self-clean, so solution cross contamination is eliminated.
Project Specific Success Criteria (PSSC) Description 1 An ability to control the (de)activation of motors and flow of water / powder in the device. 2 An ability to view the status of the components of the device and sensor readouts on a PC. 3 An ability to create drinks at a specified time using an on-board timer circuit. 4 An ability to communicate with a user via LCD screen and a rotary pulse generator / touch screen. 5 An ability to maintain the temperature of a holding tank.
Software Development Status Platform of Choice: Mac OS X + Objective C Backup Platform: Visual Basic on Windows Transmitting serial data with Bluetooth module is the biggest hurdle to software success (for both platforms) Bluetooth Module Connected to microcontroller via UART “Connected” to the Computer as an RS-232 serial port
Remote Software Microcontroller Receiving: Continuously polling Bluetooth connection for a packet of status indicators for internal components Transmitting: A packet opcodes that will be decoded in the microcontroller Microcontroller Receiving: Interrupt driven for opcode commands over Bluetooth from the remote software (PC) and/or the RPG (embedded hardware controls) Transmitting: Polling internal components and then sending a “status” packet over Bluetooth to PC Deciding: While polling tank status, decide whether to heat or cool beverages and sustain normal operating status.
Visual Basic “Backup”
Objective C App Delegate RootWindowController Custom NSView* Custom * Custom NSViews (acting as windows) have many more animation options RootWindowController Custom NSView* Custom NSView* Custom NSView* ViewController ViewController ViewController
App Delegate RootWindowController ViewController Custom NSView* NSView Buttons Images * Custom NSViews (acting as windows) have many more animation options
Questions/Comments?