Color Oled(SSD1331) connect to STMicroelectronics Nucleo-F466

Dependencies:   ssd1331

Committer:
kadonotakashi
Date:
Wed Oct 10 00:33:53 2018 +0000
Revision:
0:8fdf9a60065b
how to make mbed librry

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kadonotakashi 0:8fdf9a60065b 1 /* events
kadonotakashi 0:8fdf9a60065b 2 * Copyright (c) 2016 ARM Limited
kadonotakashi 0:8fdf9a60065b 3 *
kadonotakashi 0:8fdf9a60065b 4 * Licensed under the Apache License, Version 2.0 (the "License");
kadonotakashi 0:8fdf9a60065b 5 * you may not use this file except in compliance with the License.
kadonotakashi 0:8fdf9a60065b 6 * You may obtain a copy of the License at
kadonotakashi 0:8fdf9a60065b 7 *
kadonotakashi 0:8fdf9a60065b 8 * http://www.apache.org/licenses/LICENSE-2.0
kadonotakashi 0:8fdf9a60065b 9 *
kadonotakashi 0:8fdf9a60065b 10 * Unless required by applicable law or agreed to in writing, software
kadonotakashi 0:8fdf9a60065b 11 * distributed under the License is distributed on an "AS IS" BASIS,
kadonotakashi 0:8fdf9a60065b 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
kadonotakashi 0:8fdf9a60065b 13 * See the License for the specific language governing permissions and
kadonotakashi 0:8fdf9a60065b 14 * limitations under the License.
kadonotakashi 0:8fdf9a60065b 15 */
kadonotakashi 0:8fdf9a60065b 16 #include "events/EventQueue.h"
kadonotakashi 0:8fdf9a60065b 17
kadonotakashi 0:8fdf9a60065b 18 #include "events/mbed_events.h"
kadonotakashi 0:8fdf9a60065b 19 #include "mbed.h"
kadonotakashi 0:8fdf9a60065b 20
kadonotakashi 0:8fdf9a60065b 21
kadonotakashi 0:8fdf9a60065b 22 EventQueue::EventQueue(unsigned event_size, unsigned char *event_pointer)
kadonotakashi 0:8fdf9a60065b 23 {
kadonotakashi 0:8fdf9a60065b 24 if (!event_pointer) {
kadonotakashi 0:8fdf9a60065b 25 equeue_create(&_equeue, event_size);
kadonotakashi 0:8fdf9a60065b 26 } else {
kadonotakashi 0:8fdf9a60065b 27 equeue_create_inplace(&_equeue, event_size, event_pointer);
kadonotakashi 0:8fdf9a60065b 28 }
kadonotakashi 0:8fdf9a60065b 29 }
kadonotakashi 0:8fdf9a60065b 30
kadonotakashi 0:8fdf9a60065b 31 EventQueue::~EventQueue()
kadonotakashi 0:8fdf9a60065b 32 {
kadonotakashi 0:8fdf9a60065b 33 equeue_destroy(&_equeue);
kadonotakashi 0:8fdf9a60065b 34 }
kadonotakashi 0:8fdf9a60065b 35
kadonotakashi 0:8fdf9a60065b 36 void EventQueue::dispatch(int ms)
kadonotakashi 0:8fdf9a60065b 37 {
kadonotakashi 0:8fdf9a60065b 38 return equeue_dispatch(&_equeue, ms);
kadonotakashi 0:8fdf9a60065b 39 }
kadonotakashi 0:8fdf9a60065b 40
kadonotakashi 0:8fdf9a60065b 41 void EventQueue::break_dispatch()
kadonotakashi 0:8fdf9a60065b 42 {
kadonotakashi 0:8fdf9a60065b 43 return equeue_break(&_equeue);
kadonotakashi 0:8fdf9a60065b 44 }
kadonotakashi 0:8fdf9a60065b 45
kadonotakashi 0:8fdf9a60065b 46 unsigned EventQueue::tick()
kadonotakashi 0:8fdf9a60065b 47 {
kadonotakashi 0:8fdf9a60065b 48 return equeue_tick();
kadonotakashi 0:8fdf9a60065b 49 }
kadonotakashi 0:8fdf9a60065b 50
kadonotakashi 0:8fdf9a60065b 51 void EventQueue::cancel(int id)
kadonotakashi 0:8fdf9a60065b 52 {
kadonotakashi 0:8fdf9a60065b 53 return equeue_cancel(&_equeue, id);
kadonotakashi 0:8fdf9a60065b 54 }
kadonotakashi 0:8fdf9a60065b 55
kadonotakashi 0:8fdf9a60065b 56 int EventQueue::time_left(int id)
kadonotakashi 0:8fdf9a60065b 57 {
kadonotakashi 0:8fdf9a60065b 58 return equeue_timeleft(&_equeue, id);
kadonotakashi 0:8fdf9a60065b 59 }
kadonotakashi 0:8fdf9a60065b 60
kadonotakashi 0:8fdf9a60065b 61 void EventQueue::background(Callback<void(int)> update)
kadonotakashi 0:8fdf9a60065b 62 {
kadonotakashi 0:8fdf9a60065b 63 _update = update;
kadonotakashi 0:8fdf9a60065b 64
kadonotakashi 0:8fdf9a60065b 65 if (_update) {
kadonotakashi 0:8fdf9a60065b 66 equeue_background(&_equeue, &Callback<void(int)>::thunk, &_update);
kadonotakashi 0:8fdf9a60065b 67 } else {
kadonotakashi 0:8fdf9a60065b 68 equeue_background(&_equeue, 0, 0);
kadonotakashi 0:8fdf9a60065b 69 }
kadonotakashi 0:8fdf9a60065b 70 }
kadonotakashi 0:8fdf9a60065b 71
kadonotakashi 0:8fdf9a60065b 72 void EventQueue::chain(EventQueue *target)
kadonotakashi 0:8fdf9a60065b 73 {
kadonotakashi 0:8fdf9a60065b 74 if (target) {
kadonotakashi 0:8fdf9a60065b 75 equeue_chain(&_equeue, &target->_equeue);
kadonotakashi 0:8fdf9a60065b 76 } else {
kadonotakashi 0:8fdf9a60065b 77 equeue_chain(&_equeue, 0);
kadonotakashi 0:8fdf9a60065b 78 }
kadonotakashi 0:8fdf9a60065b 79 }