SDG+USBHost(Mouse) Sample

Dependencies:   Sound_Generator USBHost_custom

Fork of SDG_Mouse_Sample by GR-PEACH_producer_meeting

Information

Japanese version is available in lower part of this page.
このページの後半に日本語版が用意されています.

What is this?

This program is a demonstration that sounds the sound by mouse operation by using USBHost(Mouse) and Sound Generator.

Settings

Close JP3 of GR-PEACH.
/media/uploads/RyoheiHagimoto/sdg-mouse.jpg

Operation

operationeffect
Right clickSounds
Left clickReset to base tone (C)
Moves the mouse to the rightLower the sound
Moves the mouse to the leftHigher the sound
Center cursorAdjust the sensitivity.
Reset the reference value in the click.

Others

The default setting of serial communication (baud rate etc.) in mbed is shown the following link.
Please refer to the link and change the settings of your PC terminal software.
The default value of baud rate in mbed is 9600, and this application uses baud rate 9600.
https://developer.mbed.org/teams/Renesas/wiki/GR-PEACH-Getting-Started#install-the-usb-serial-communication


概要

このプログラムは、USBHost(Mouse) + Sound Generatorで、マウス操作による擬似笛デモです。

設定

GR-PEACHのJP3をショートする必要があります。
/media/uploads/RyoheiHagimoto/sdg-mouse.jpg

操作方法

操作内容
右クリック音出力開始
左クリック基準音(ド)にリセット
マウス右移動高音になります
マウス左移動低音になります
センターカーソル音高低の変化量調整(クリックで基準値にリセット)

Others

mbedのシリアル通信(ボーレート等)のデフォルト設定は以下のリンクに示しています。
リンクを参考に、お使いのPCターミナルソフトの設定を変更して下さい。
mbedでのボーレートのデフォルト値は9600で、このサンプルではボーレート9600を使います。
https://developer.mbed.org/teams/Renesas/wiki/GR-PEACH-Getting-Started#install-the-usb-serial-communication

Committer:
mbed_official
Date:
Wed Oct 16 14:15:18 2013 +0100
Revision:
17:c7b1b8451598
Synchronized with git revision d8c3822c4c4e995cd7eaff0ce99f2d3284dde9cd

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 17:c7b1b8451598 1 /* USBSerialStream.h */
mbed_official 17:c7b1b8451598 2 /* Copyright (C) 2012 mbed.org, MIT License
mbed_official 17:c7b1b8451598 3 *
mbed_official 17:c7b1b8451598 4 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
mbed_official 17:c7b1b8451598 5 * and associated documentation files (the "Software"), to deal in the Software without restriction,
mbed_official 17:c7b1b8451598 6 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
mbed_official 17:c7b1b8451598 7 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
mbed_official 17:c7b1b8451598 8 * furnished to do so, subject to the following conditions:
mbed_official 17:c7b1b8451598 9 *
mbed_official 17:c7b1b8451598 10 * The above copyright notice and this permission notice shall be included in all copies or
mbed_official 17:c7b1b8451598 11 * substantial portions of the Software.
mbed_official 17:c7b1b8451598 12 *
mbed_official 17:c7b1b8451598 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
mbed_official 17:c7b1b8451598 14 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
mbed_official 17:c7b1b8451598 15 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
mbed_official 17:c7b1b8451598 16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
mbed_official 17:c7b1b8451598 17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
mbed_official 17:c7b1b8451598 18 */
mbed_official 17:c7b1b8451598 19
mbed_official 17:c7b1b8451598 20 #ifndef USBSERIALSTREAM_H_
mbed_official 17:c7b1b8451598 21 #define USBSERIALSTREAM_H_
mbed_official 17:c7b1b8451598 22
mbed_official 17:c7b1b8451598 23
mbed_official 17:c7b1b8451598 24 #include "core/fwk.h"
mbed_official 17:c7b1b8451598 25
mbed_official 17:c7b1b8451598 26 #include "USBHost3GModule/IUSBHostSerial.h"
mbed_official 17:c7b1b8451598 27 #include "USBHost3GModule/IUSBHostSerialListener.h"
mbed_official 17:c7b1b8451598 28
mbed_official 17:c7b1b8451598 29 #include "rtos.h"
mbed_official 17:c7b1b8451598 30 #include "core/MtxCircBuffer.h"
mbed_official 17:c7b1b8451598 31
mbed_official 17:c7b1b8451598 32 /* Input Serial Stream for USB virtual serial ports interfaces
mbed_official 17:c7b1b8451598 33 This class is not thread-safe, except for the *Abort() methods that can be called by any thread/ISR
mbed_official 17:c7b1b8451598 34 */
mbed_official 17:c7b1b8451598 35 #define CIRCBUF_SIZE 127
mbed_official 17:c7b1b8451598 36 class USBSerialStream : public IOStream, IUSBHostSerialListener
mbed_official 17:c7b1b8451598 37 {
mbed_official 17:c7b1b8451598 38 public:
mbed_official 17:c7b1b8451598 39 USBSerialStream(IUSBHostSerial& serial);
mbed_official 17:c7b1b8451598 40 /*virtual*/ ~USBSerialStream();
mbed_official 17:c7b1b8451598 41
mbed_official 17:c7b1b8451598 42 //0 for non-blocking (returns immediately), osWaitForever for infinite blocking
mbed_official 17:c7b1b8451598 43 virtual int read(uint8_t* buf, size_t* pLength, size_t maxLength, uint32_t timeout=osWaitForever);
mbed_official 17:c7b1b8451598 44 virtual size_t available();
mbed_official 17:c7b1b8451598 45 virtual int waitAvailable(uint32_t timeout=osWaitForever); //Wait for data to be available
mbed_official 17:c7b1b8451598 46 virtual int abortRead(); //Abort current reading (or waiting) operation
mbed_official 17:c7b1b8451598 47
mbed_official 17:c7b1b8451598 48
mbed_official 17:c7b1b8451598 49 //0 for non-blocking (returns immediately), osWaitForever for infinite blocking
mbed_official 17:c7b1b8451598 50 virtual int write(uint8_t* buf, size_t length, uint32_t timeout=osWaitForever);
mbed_official 17:c7b1b8451598 51 virtual size_t space();
mbed_official 17:c7b1b8451598 52 virtual int waitSpace(uint32_t timeout=osWaitForever); //Wait for space to be available
mbed_official 17:c7b1b8451598 53 virtual int abortWrite(); //Abort current writing (or waiting) operation
mbed_official 17:c7b1b8451598 54
mbed_official 17:c7b1b8451598 55 private:
mbed_official 17:c7b1b8451598 56 IUSBHostSerial& m_serial;
mbed_official 17:c7b1b8451598 57 volatile bool m_serialTxFifoEmpty;
mbed_official 17:c7b1b8451598 58
mbed_official 17:c7b1b8451598 59 void setupReadableISR(bool en);
mbed_official 17:c7b1b8451598 60 virtual void readable(); //Callback from m_serial when new data is available
mbed_official 17:c7b1b8451598 61
mbed_official 17:c7b1b8451598 62 Semaphore m_availableSphre; //Used for signalling
mbed_official 17:c7b1b8451598 63
mbed_official 17:c7b1b8451598 64 void setupWriteableISR(bool en);
mbed_official 17:c7b1b8451598 65 virtual void writeable(); //Callback from m_serial when new space is available
mbed_official 17:c7b1b8451598 66
mbed_official 17:c7b1b8451598 67 Semaphore m_spaceSphre; //Used for signalling
mbed_official 17:c7b1b8451598 68
mbed_official 17:c7b1b8451598 69 MtxCircBuffer<uint8_t, CIRCBUF_SIZE + 1> m_inBuf;
mbed_official 17:c7b1b8451598 70 MtxCircBuffer<uint8_t, CIRCBUF_SIZE + 1> m_outBuf;
mbed_official 17:c7b1b8451598 71 };
mbed_official 17:c7b1b8451598 72
mbed_official 17:c7b1b8451598 73 #endif /* USBSERIALSTREAM_H_ */