Coco Mac OS

broken image


A smart tile for adding a user interface to a system.

  1. Mac Os Mojave
  2. Coco Mac Os Download

Table of Contents

Virtual T 1.5 Mac OS X 10.4+. Tags Source Code Emulation Radio Shack TRS-80 CoCo Emulator Mac OS X Universal Binary Linux 32-Bit Intel Virtual T Windows. CoconutBattery 3.9.5 - Displays info about your laptop battery. Download the latest versions of the best Mac apps at safe and trusted MacUpdate.

Overview¶

The Elektor COol COntroller COncept CoCo-ri-Co is a little digital potentiometer module that allows you to add a rotary control to any project. It takes care of the hassle of rotary encoder interfacing and outputs the encoder's position as a clean, clear numeric value. A two-color LED ring around the encoder provides visible feedback and a buzzer can be mounted for audible feedback. The module communicates over a serial bus (UART, I²C, SPI) and is fully configurable. It can be controlled from a microcontroller or it can be the main microcontroller of an application. A tiny trimmer lets you choose the serial port protocol that CoCo-ri-Co will use without reprogramming anything. Being completely open source and reprogrammable over a normal serial port, you can modify it as you wish.

This diagram shows the commonly used interfaces and their locations. Note that all the numbered pins (P0_XX) can also be used as DigitalIn and DigitalOut interfaces.

Carrier Board¶

Coco Mac OS

A special carrier board provides an mbed interface and power supply for the hexagonal CoCo-ri-Co board. It also breaks out the MCU pins on two handy extension connectors.

Specifications¶

  • NXP LPC812 32-bit ARM Cortex-M0+
  • All 18 MCU I/O pins accessible through extension connectors
  • Up to 17 bicolor LEDs
  • Rotary encoder and/or pushbutton
  • Buzzer (optional)
  • Supports I²C, SPI/synchronous and asynchronous serial communication
  • ISP port compatible with 3.3-V FTDI USB-serial cable (except 5-V supply)
  • Open source, Eagle design files are available here

Where to Get it¶

The CoCo-ri-Co board is available from Elektor

Video¶

Webinar¶

Here is a webinar explaining the philosophy behind the CoCo-ri-Co board.

Mac Os Mojave


Features¶

  • LPC812M101JDH20
    • High performance ARM® Cortex™-M0+ Core
    • 12 MHz, 4 KB RAM, 16 KB FLASH
    • SPI (2, 1 exposed)
    • I2C (1)
    • UART (3, 1 exposed)
    • PWM (4)
    • GPIO (18)
  • User Interface Peripherals
    • 16 bi-color LEDs in a matrix
    • 1 bi-color LED directly controlled
    • Rotary encoder (with or without push button)
    • Push button
    • Buzzer
  • Carrier Board
    • 57 x 55 mm
    • Powered over USB
    • On-board Debug and Programming Interface Circuit
      • [USB MSC] Drag-n-drop programming
      • [USB CDC] USB Serial Port
      • [USB HID] CMSIS-DAP


Firmware¶

1. Put the board in firmware-upgrade mode¶

While holding down the bootload button BL (S1) on the CoCo-ri-Co carrier board, connect the board to a free USB port on your PC. It will appear as a disk called CRP DISABLD.

2. Load the new firmware on the board¶

Open the new disk and delete the (only) file firmware.bin that is on it. Download and copy the latest firmware onto the new disk.

3. Almost done¶

Disconnect the CoCo-ri-Co carrier board from the PC, and plug it back in again. The USB disk will now appear as a normal mbed disk called DAPLINK.

That was not too hard, wasn't it?

Coco Mac Os Download


Getting Started with mbed¶

1. Connect your microcontroller to a PC¶

Use the USB lead to connect your mbed to a PC. The status light will come on, indicating it has power. After a few seconds of activity, the PC will recognise the mbed Microcontroller as a standard USB drive.

Windows XP exampleMac OS X example

2. Click the MBED.HTM link to get logged in¶

Go to the new USB Drive, and click MBED.HTM to open it in a web browser.

If you do not have an mbed account, choose 'Signup', and create your mbed Account. Otherwise, log in with your normal username and password.

This will give you access to the website, tools, libraries and documentation.


PC Configuration¶

Your mbed Microcontroller can appear on your computer as a serial port. On Mac and Linux, this will happen by default. For Windows, you need to install a driver:

Windows

See Windows-serial-configuration for full details about setting up Windows for serial communication with your mbed Microcontroller

From a host PC to communicate with mbed you will need a terminal application. This allows the mbed Microcontroller to print to your PC screen, and for you to send characters back to your mbed.

  • Terminals - Using Terminal applications to communicate between the Host PC and the mbed Micrcontroller

Some terminal programs (e.g. TeraTerm) list the available serial ports by name. However, if you do need to know the identity of the serial port so that you can attach a terminal or an application to it:

WindowsMacLinux
Find the identity of the COM port by opening 'Device Manager'. To do this navigate 'Start -> Control Panel -> System -> Hardware -> Device Manager'.To find the device name under Mac OS X, use the command 'ls /dev/tty.usbmodem*'To find the device name under Linux, use the command 'ls /dev/ttyACM*'


Downloading a program¶

1. Save a program binary (.bin) to the Platform¶

Download the 'Blinky' binary file (the source code for this program will be seen in the next section).

Save the program binary file to your mbed microcontroller disk, just like you would with a normal USB disk. The Status LED will flash as the PC writes the file to the microcontroller disk. The file is now consumed.

2. Press the Reset Button¶

When the Reset Button in pressed, the microcontroller will be reset and the last programmed application will begin to run.

3. It is alive!¶

The microcontroller is now running the program, flashing LED4 on the carrier board forever! If you reset the microcontroller, or disconnect and reconnect the power, the program will simply restart.


Blinky¶

mbed_blinky

The example program for mbed pin-compatible platforms

Last commit 08 Apr 2019 by


LED ring demo¶

Here is a little demo that shows how to control the LED ring on the CoCo-ri-Co board. The circle will alternatingly fill red and green, going clockwise. The LED in the middle of the board will flash and alternate between red and green at a rate of 1 Hz.

cocorico_ring_demo

Simple demo showing how to control the CoCo-ri-Co LED ring.

Last commit 21 Jun 2016 by


Where Next¶

Follow the guide to creating your own programs using the online compiler


Technical Reference¶

Power¶

  • USB powered
  • Current (active): < 15 mA
  • Current (sleep): < 1 mA
  • 3.3 V regulated output on VOUT to power peripherals
  • Digital IO pins are 3.3 V (5V tolerant except for P0_6), 4 mA each, 100 mA max total
  • High-current Digital IO pins (P0_2, P0_3, P0_7, P0_12 & P0_13) can source 20 mA each

Schematics¶

Data Sheets¶

Ioana Luțaș
QA Engineer @ Bissoft
TESTING

At some point, one may be interested in finding out how well-developed the automated test cases which validate the Web Services functionality actually are. In other words, it would be good to know how much the test cases hit the code. One way to test the Web Services functionality is by using SOAP UI.

This article describes how we can use the Squish Coco application to determine how much the SOAP UI test cases impact the C# code.

Short introduction of Squish Coco

Squish Coco is a coverage tool for C, C#, C++ and Tcl code. Using the instrumented source code, Squish Coco analyses the source code of the application under test.

Executing a test suite against an instrumented application produces data that can be analyzed later. This analysis can be used to understand how much of the source code has been hit by tests, which additional tests need to be written, or how the test coverage changed over time.

Squish Coco may give a measure of how much of the code is tested.

Squish Coco consists of two main tools:

A. CoverageScanner - This is a compiler wrapper which feeds instrumented source code to the native compiler. When using SquishCoco, it will tell the build tool to use CoverageScanner as the compiler. CoverageScanner is a C++ program that—in effect—replaces the usual compiler.

B. CoverageBrowser - This is a GUI tool for visualizing and analyzing code coverage based on the reports generated by running the test suite on an instrumented version of the application.

Squish Coco preprocesses the source code using the native preprocessor program, during which it inserts instrumentation code and, at the end, it compiles and links the project file, in a similar way to a normal build procedure. After the code is instrumented, CSMES files are generated - these files contain the instrumented code.

CoverageScanner's principle of code coverage analysis is not to highlight executed source lines, but rather to place marks on execution paths.

CoverageScanner parses all C++ / C language constructs and detects: executed functions, executed source code lines, execution paths, Boolean expressions which produce different execution paths (if, for, while, switch . . .).

After the detection phase, CoverageScanner inserts the instrumentation statements into the code. This modified version of the application is called instrumentation.

When the application is tested, coverage results are generated for each execution (.CSEXE file). These results may be analyzed using CoverageBrowser.

Instrumentation types:

  1. Line coverage - Instrumenting the execution of every executable source code line

  2. Branch coverage - Instrumenting the execution of each branch block (e.g., the body of any if statement).

  3. Decision coverage - Instrumenting each Boolean decision for loop and selection statements (e.g., record both the Boolean expression itself—true or false—and the body of the while, for or if statement).

  4. Condition coverage - Instrumenting of each sub-expression of Boolean expressions

Squish Coco is a multi-platform tool:

  • Linux (32- and 64-bit)

  • Windows (32- and 64-bit)

  • Mac OS X (32- and 64-bit)

  • Solaris, AIX and other UNIX systems

  • Embedded Linux

  • Embedded Windows

  • Mobile operating systems

  • Real-time operating systems (RTOS) - QNX / VxWorks

Coverage reports may be generated in the following formats: HTML, XML, EMMA -XML, text, Junit, Cobertura.

Squish Coco stores information per individual test, with an optional name, with FAIL vs. PASS status assigned and with additional comments. This way various types of analysis can be performed in the post-processing phase:

  • Calculation of the optimal order of test execution that will most quickly maximize the overall coverage.

  • Comparison of coverage between test executions

  • Comparison of coverage between different software builds

  • Determining a minimal set of tests to cover a source code patch

Safety standards and regulatory bodies mandate the use of code coverage analysis to ensure a proper degree of testing:

  • ISO 26262 - Road vehicles - Functional safety

  • EN 50128 - Railway applications

  • DO 178 - Software Considerations in Airborne Systems and Equipment Certification

  • IEC 61508 - Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems

  • FDA - Food and Drug Administration

  • IEC 62304 - Medical device software - software life cycle processes

In most cases coverage is achieved through the use of a unit testing framework. Squish Coco will be able to gather coverage information from whatever framework is being used. It has integrated versions available for frameworks:

  • CppUnit

  • QTestLib

  • GoogleTest

  • CxxTest

  • NUnit

In addition, tests can also be driven through automation tools.

Coco can easily be integrated with various build and test frameworks to serve as a component of Continuous Integration (CI) system, maybe integrated with Jenkins, SonarQube, Bamboo or an in- house build system.

How to get code coverage statistics when testing Web Services using SOAP UI

SOAP UI is one of the SmartBear Software applications that can be used to test Web Services.

Since we are instrumenting services that do not terminate, we need to write our own handler which triggers the saving of the .csexe file.

1.Install Squish Coco2.Set the Environment variable PATH to have the .Net framework location: C:WindowsMicrosoft.NETFramework64v4.0.303193.Copy the WebApplication folder. From C:Program Files (x86)MSBuildMicrosoftVisualStudiov11.0 To C:Program Files (x86)MSBuildMicrosoftVisualStudiov12.0

4.In the project to be tested, let's call it the NAS Project, in the Common Service for example, add the following two methods, for starting the Coverage Scanner and saving the Coverage report.

5.When Squish Coco is installed on a particular machine, the Add-on for the Visual Studio is also installed. In Visual Studio we may find the option for Code Coverage in the Tool menu.

We select Tools ->Cove Coverage, select the coverage options, select a build configuration, select all projects, and set Enable Code Coverage.

Rebuild the NAS solution, so that project gets configured to use the Squish Coco Coverage Scanner. In the Build options for NAS Services, we may notice the following options:

6.Modify the SOAP UI test suites so that:

  • The first SOAP UI request from the Test suite calls StartCoverage

  • The last SOAP UI request from the Test suite calls StopCoverage

7.Follow the steps from the following schema in order to obtain the code coverage report for the executed SOAP UI Tests.

8.First and second steps, from the above schema, may be put in a .bat file

Some parts may be excluded from the instrumentation, as they don't have to be analyzed for code coverage, like:

The content of the .bat file - NASSCocoCodeCoverageinstrumented.bat :

9.From the above schema, step 7 - Generate HTML code coverage report - may be executed from a bat file: NASGenerateSCocoCodeCoverageReport.bat

10.Here are some examples of code coverage results when some SOAP UI test cases pass, and some fail. Because the test cases fail, some parts of the source code are not executed anymore.

11.Code Coverage HTML Report





broken image