Slingshot Express Mac OS

Posted on  by

Accounts and bookkeeping program for businesses

InvoicingCreate quotes, invoices and more

Accounts PayableManage and track payments

Analysis & ReportsGenerate more than 20 reports

Web AccessSecure web access feature

Express Accounts is professional business accounting software, perfect for small businesses needing to document and report on incoming and outgoing cash flow including sales, receipts, payments and purchases.

  • Easily track payments and deposit transactions
  • View balances and reports to see how your business is doing
  • Email or fax reports directly to your accountant
Download Express Accounts Accounting Software for Windows
Free Accounting Software. A free version of this bookkeeping software is available for use by small businesses with less than five employees. The free version does not expire, but does not support some features designed for larger organizations. You can download the free accounting software version here.

Organize your Bookkeeping

Sales and Accounts Receivable
  • Track sales and accounts receivable
  • Automatically record recurring orders and invoices
  • Accounts receivable & reports update as invoices are paid
  • Generate professional quotes, sales orders and invoices
Accounts Payable
  • Manage accounts payable and pay bills
  • Track outgoing payment and purchasing transactions
  • Generate purchase orders
  • Create and print checks
Financial Analysis and Reports
  • Easily generate over 20 essential financial reports at any time
  • Income Statement (Profit & Loss statement) shows how your business has performed
  • Balance Sheet shows your current assets and liabilities
  • Analyze sales by customer, salesperson or item
  • Financial reports help prepare your tax returns quickly
Additional Accounting Features
  • Multiple users with web access within the organization can securely log on and use the program on your network or online
  • Secure mobile access to the program through the web interface (e.g., iPhone, Android)
  • Integrates with Inventoria to maintain inventory data across all aspects of your business
  • Run multiple businesses with a single installation, including businesses operating with different currencies
  • Automatic integrated backup

Bookkeeping Features

The process is: 1) Download the source files from - You need to download the source files from here since you have to manually install the program. 2) Unzip the files to a convenient location. You can do this by double clicking on the.tar file. Find a great collection of MacBooks at Costco. Enjoy low warehouse prices on name-brand MacBooks products. Your complete guide to Apple software, and apps designed for Apple users. Learn about the best Mac apps, iOS apps, Watch apps, and utilities. Winlink Global Radio Email®️ is an all-volunteer project of the Amateur Radio Safety Foundation, Inc. (ARSFI), a non-profit public benefit corporation with no beneficial owners. Please give to ARSFI if you use Winlink radio email or correspond regularly with someone who does. By donating $25 each year you will do your part to improve this system and keep it running.


System Requirements
Download Now
- for Windows
- for Mac
Screenshots
Questions (FAQs)
Bookkeeping 101
Technical Support
Pricing & Purchase

Related Business Software


Inventory Software
Invoicing Software
Manage Remote Employees
Personal Finance Software
Digital Dictation Software
More Business Software...
Express Accounts is perfect for any business

Table of Contents

See also

  • New mbed NXP LPC11U24
  • mbed USB Device Libraries
  • mbed Frontpage Tour
  • How to order an mbed

Apparently, Angry Birds is played for 300 million minutes a day. With that amount of dedication, isn't it about time it became a real sport?!

USB Slingshot¶

To make Angry Birds a real sport, we need real equipment. So the idea for this hack was to build a real slingshot as a USB peripheral to play Angry Birds.

It was inspired as a demo to show off how easy it is becoming to build your own USB devices, thanks to the emergence of ultra-low-cost 32-bit microcontrollers that include USB. There is more about this industry trend and our new mbed NXP LPC11U24 board that we designed to open up these opportunities and enable very productive prototyping of USB devices:

The resulting hack means fusing electronics, microcontrollers, software and, umm..., carpentry!

The Technology¶

The slingshot emulates a USB mouse, so it really is a plug 'n' play. It translates the physical use of the slingshot in to appropriate mouse controls.

With a real slingshot, you tilt the slingshot and stretch sling. The idea to measure these was using:

  • An accelerometer - this can measure the tilt by tracking the gravity vector (which way is down!)
  • A rubber stretch sensor - this can be used as the sling, and measure how much it is stretched

That is the input, but to play Angry Birds, you actually click on the bird, then drag to the launch angle and strength you want, then release. This means we have to translate the real slingshot movements in to a series of different mouse movements.

For example, this means translating starting to stretch the slingshot to a mouse to click and hold, whilst the vector of the stretch determined by the angle of sling and how far it is stretched translates to mouse movements relative to where we started. More on the maths later...

Ingredients to build a USB Slingshot¶

The main brain is the new mbed NXP LPC11U24, as that is designed for prototyping USB devices:

It is packaged in a DIP prototyping form-factor, uses the NXP LPC11U24 MCU based on a 32-bit ARM Cortex-M0 core, and includes I2C, SPI, UART and ADC interfaces. It is supported by the mbed online development tools and developer website, mbed C/C++ SDK, and a full set of USB libraries; USB Mouse, Keyboard, HID, Serial, MIDI, MSC and Audio classes, that make reliably creating a new USB device a matter of a few lines of code!

This is great as it makes emulating the mouse nice and easy!

  • See USBMouse Handbook Page

The rest of the ingredients are:

Slingshot Express Mac Os Update

3-axis AccelerometerStretch SensorUSB B connectorHandcrafted Slingshot

Prototype¶

In order to test if the project was possible, a first prototype was made on breadboard.

Hardware¶

The hardware is based on the following connections to the mbed NXP LPC11U24:

  • The accelerometer is connected over SPI to the mbed
  • The stretch sensor is a resistor as part of a voltage-divider circuit, read on p15 (AnalogIn)
  • The USB Type B connector is connected to the mbed D+/D- pins, and also provides the power supply to the mbed
SchematicsFirst Prototype

Here is the pinout table:

ADXL345 Signal Namembed pin
VccVout
GndGnd
SDAp5
SDOp6
SCLp7
CSp8
Stretch sensormbed pin
One extremityVout
The otherp15
USB connectormbed pin
VccVin
GndGnd
D+D+
D-D-

Software¶

The software to test the feasibility is kept simple; the objective is to observe all different elements of the project working together.

AngryBirdsFeasibility

Test Slingshot

Last commit 18 Jan 2012 by

The experiments to see that it works:

  • move the breadboard
  • pull the stretch sensor
  • move and pull the stretch sensor at the same time
  • observe that the mouse is moving on the screen

So we have proven control! Next step is to make it in to a real slinghot!

The Real Slingshot!¶

Hardware¶

The slingshot was crafted by Chris Jarratt, from a branch found in Epping Forest, London! This is the structure in to which we embedded all the electronics.

The wiring is exactly the same as the first prototype, just that the mbed will be embedded in to the real slingshot this time.

DiagramA handcrafted slingshotWires embedded in the slingshot
Final slingshotInside the slingshot with the accelerometerMbed USB slingshot

Finally, combining all different parts we get our mbed USB Slingshot!

Software¶

How does it all work ?¶

The first question concerns the USBMouse. The options are an absolute or relative mouse. The answer is quite simple because the mbed doesn't know the absolute position of the bird on the screen, so the natural solution is a relative mouse (like a normal mouse) - position the cursor over the mouse, then the slingshot takes over and moves relative to the starting point based on interpreting the manipulations of the slingshot.

Slingshot Angle¶

The angle of the slingshot is the main thing we need to calculate the direction of the vector to apply to the mouse position.

We simply use the fact that we know gravity is causing a 1G force on the accelerometer, and use that to calculate the angle of the slingshot with some simple trigonometry.

Mouse Movement¶

The mouse position is then calculated based on the vector offset calculated using the angle of the slingshot, and the stretch sensor reading.

Because we send relative movements, we actually calculate the desired position, then work out the difference from where we know we are and send that.

Algorithm¶

The general idea for how it works for a complete firing comes in a few steps:

WAITING

  • We start by WAITING, with the cursor over the bird - regardless of how we tilt the slingshot, nothing happens
  • When we see a strong enough stretch, we consider that the start of AIMING, and click and hold the left mouse button

AIMING

  • We then continuously calculate a vector based on the angle of the slingshot, and the stretch of the sling
  • This is translated in to relative mouse movements with some more trigonometry, and the mouse is moved as appropriate
  • As we are positioning based on a vector but sending relative mouse positions, we keep a note of the accumulated movements so we can send the difference each time

FIRING

  • We enter FIRING when we see a fast reduction in the sling stretch
  • At this point we release the mouse button, then return the mouse back to the starting position, ready for the next throw!

Code¶

The whole code is fairly concise, so here it is in full:

Mouse Setup¶

To use it, simply position the mouse cursor over the bird, and then start using the slingshot!

The cursor is not coming back at the initial position

Slingshot

On Windows (and probably on Linux or Mac OS), the cursor is not coming back exactly at the same initial position after a firing. To solve this issue, I modified this:

  • go into the Control Panel
  • Hardware and Sound
  • Mouse in the devices and printers section
  • in the pointer options tab, deselect Enhance pointer precision
  • You can also reduce the cursor speed

In Action¶

Turns out it works! Here it is in action!

So now you can kill pigs with a real USB Slingshot, by combining the two totally different worlds of carpentry and embedded systems!

Slingshot Express Mac Os Catalina

Hopefully this gives you all the instructions you need to build your own, or any other USB devices you need to design!

Thanks¶

Mac Os Catalina

Thanks to everyone who helped us to make this possible!

  • Sparkfun for the Accelerometer
  • Adafruit for the Stretch Sensor
  • RS for the USB connector
  • NXP for the ARM Cortex-M0 MCU used on the mbed NXP LPC1U24
  • Chris Jarrett for crafting the wooden slingshot

Making the Video¶

Here is a little behind the scenes on how we put together the video one Wednesday afternoon. Not really something we'd done before, so a lot of making it up as we went along :)

Slingshot Express Mac Os Update

Prototype your own USB devices with the new mbed NXP LPC11U24!¶

The LPC11U24 is one of the new ultra-low-cost 32-bit ARM microcontrollers entering the market that open up all sorts of opportunities for building USB devices. The times of requiring in-depth knowledge of the USB protocol, fiddling with complex software stacks and fighting 8 or 16-bit MCUs is over. Or being constrained by USB bridge chips. These chips only cost $1-2 in volume!

Using the mbed tools and the set of USB libraries, prototyping these devices should be really fast too!

For a look at all the USB Device types that work out-of-the-box, take a look at:

  • /handbook/USBMouse - Emulate a USB Mouse with absolute or relative positioning
  • /handbook/USBKeyboard - Emulate a USB Keyboard, sending normal and media control keys
  • /handbook/USBMouseKeyboard - Emulate a USB Keyboard and a USB mouse with absolute or relative positionning
  • /handbook/USBHID - Communicate over a raw USBHID interface, great for driverless communication with a custom PC program
  • /handbook/USBMIDI - Send and recieve MIDI messages to control and be controlled by PC music sequencers etc
  • /handbook/USBSerial - Create a virtual serial port over the USB port. Great to easily communicate with a computer.
  • /handbook/USBAudio - Create a USBAudio device able to receive audio stream from a computer over USB.
  • /handbook/USBMSD - Generic class which implements the Mass Storage Device protocol in order to access all kinds of block storage chips

These pages should show how easy it is to prototype low-cost USB devices, so you can concentrate on inventing the applications. Looking forward to seeing what devices you develop!

See also:

Mac os mojave
  • mbed NXP LPC11U24 prototyping board
  • mbed Developer Site homepage and tour
  • Join the mbed Mailing List for updates and occasional giveaways

The demo was inspired by the emergence of ultra-low-cost 32-bit microcontrollers that include USB, and we wanted to show off how easy it can be to prototype them to take advantage of this trend. For more about this and why we built the new mbed NXP LPC11U24 board, take a look at: