microSD カードのビットマップ・ファイルのビュアー.画像の最大値 縦:272ピクセル,横:480ピクセル. Bitmap file viewer for microSD card. Maximum size Vertical: 272 pixels, Horizontal: 480.

Dependencies:   SDFileSystem_Warning_Fixed F746_GUI

Committer:
MikamiUitOpen
Date:
Tue Oct 23 11:51:47 2018 +0000
Revision:
1:bb146d5fe9aa
Parent:
0:f62ffd3644bf
2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:f62ffd3644bf 1 /* mbed Microcontroller Library
MikamiUitOpen 0:f62ffd3644bf 2 * Copyright (c) 2006-2013 ARM Limited
MikamiUitOpen 0:f62ffd3644bf 3 *
MikamiUitOpen 0:f62ffd3644bf 4 * Licensed under the Apache License, Version 2.0 (the "License");
MikamiUitOpen 0:f62ffd3644bf 5 * you may not use this file except in compliance with the License.
MikamiUitOpen 0:f62ffd3644bf 6 * You may obtain a copy of the License at
MikamiUitOpen 0:f62ffd3644bf 7 *
MikamiUitOpen 0:f62ffd3644bf 8 * http://www.apache.org/licenses/LICENSE-2.0
MikamiUitOpen 0:f62ffd3644bf 9 *
MikamiUitOpen 0:f62ffd3644bf 10 * Unless required by applicable law or agreed to in writing, software
MikamiUitOpen 0:f62ffd3644bf 11 * distributed under the License is distributed on an "AS IS" BASIS,
MikamiUitOpen 0:f62ffd3644bf 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
MikamiUitOpen 0:f62ffd3644bf 13 * See the License for the specific language governing permissions and
MikamiUitOpen 0:f62ffd3644bf 14 * limitations under the License.
MikamiUitOpen 0:f62ffd3644bf 15 */
MikamiUitOpen 0:f62ffd3644bf 16 #include "BusOut.h"
MikamiUitOpen 0:f62ffd3644bf 17 #include "mbed_assert.h"
MikamiUitOpen 0:f62ffd3644bf 18
MikamiUitOpen 0:f62ffd3644bf 19 namespace mbed {
MikamiUitOpen 0:f62ffd3644bf 20
MikamiUitOpen 0:f62ffd3644bf 21 BusOut::BusOut(PinName p0, PinName p1, PinName p2, PinName p3, PinName p4, PinName p5, PinName p6, PinName p7, PinName p8, PinName p9, PinName p10, PinName p11, PinName p12, PinName p13, PinName p14, PinName p15) {
MikamiUitOpen 0:f62ffd3644bf 22 PinName pins[16] = {p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15};
MikamiUitOpen 0:f62ffd3644bf 23
MikamiUitOpen 0:f62ffd3644bf 24 _nc_mask = 0;
MikamiUitOpen 0:f62ffd3644bf 25 for (int i=0; i<16; i++) {
MikamiUitOpen 0:f62ffd3644bf 26 _pin[i] = (pins[i] != NC) ? new DigitalOut(pins[i]) : 0;
MikamiUitOpen 0:f62ffd3644bf 27 if (pins[i] != NC) {
MikamiUitOpen 0:f62ffd3644bf 28 _nc_mask |= (1 << i);
MikamiUitOpen 0:f62ffd3644bf 29 }
MikamiUitOpen 0:f62ffd3644bf 30 }
MikamiUitOpen 0:f62ffd3644bf 31 }
MikamiUitOpen 0:f62ffd3644bf 32
MikamiUitOpen 0:f62ffd3644bf 33 BusOut::BusOut(PinName pins[16]) {
MikamiUitOpen 0:f62ffd3644bf 34 _nc_mask = 0;
MikamiUitOpen 0:f62ffd3644bf 35 for (int i=0; i<16; i++) {
MikamiUitOpen 0:f62ffd3644bf 36 _pin[i] = (pins[i] != NC) ? new DigitalOut(pins[i]) : 0;
MikamiUitOpen 0:f62ffd3644bf 37 if (pins[i] != NC) {
MikamiUitOpen 0:f62ffd3644bf 38 _nc_mask |= (1 << i);
MikamiUitOpen 0:f62ffd3644bf 39 }
MikamiUitOpen 0:f62ffd3644bf 40 }
MikamiUitOpen 0:f62ffd3644bf 41 }
MikamiUitOpen 0:f62ffd3644bf 42
MikamiUitOpen 0:f62ffd3644bf 43 BusOut::~BusOut() {
MikamiUitOpen 0:f62ffd3644bf 44 for (int i=0; i<16; i++) {
MikamiUitOpen 0:f62ffd3644bf 45 if (_pin[i] != 0) {
MikamiUitOpen 0:f62ffd3644bf 46 delete _pin[i];
MikamiUitOpen 0:f62ffd3644bf 47 }
MikamiUitOpen 0:f62ffd3644bf 48 }
MikamiUitOpen 0:f62ffd3644bf 49 }
MikamiUitOpen 0:f62ffd3644bf 50
MikamiUitOpen 0:f62ffd3644bf 51 void BusOut::write(int value) {
MikamiUitOpen 0:f62ffd3644bf 52 for (int i=0; i<16; i++) {
MikamiUitOpen 0:f62ffd3644bf 53 if (_pin[i] != 0) {
MikamiUitOpen 0:f62ffd3644bf 54 _pin[i]->write((value >> i) & 1);
MikamiUitOpen 0:f62ffd3644bf 55 }
MikamiUitOpen 0:f62ffd3644bf 56 }
MikamiUitOpen 0:f62ffd3644bf 57 }
MikamiUitOpen 0:f62ffd3644bf 58
MikamiUitOpen 0:f62ffd3644bf 59 int BusOut::read() {
MikamiUitOpen 0:f62ffd3644bf 60 int v = 0;
MikamiUitOpen 0:f62ffd3644bf 61 for (int i=0; i<16; i++) {
MikamiUitOpen 0:f62ffd3644bf 62 if (_pin[i] != 0) {
MikamiUitOpen 0:f62ffd3644bf 63 v |= _pin[i]->read() << i;
MikamiUitOpen 0:f62ffd3644bf 64 }
MikamiUitOpen 0:f62ffd3644bf 65 }
MikamiUitOpen 0:f62ffd3644bf 66 return v;
MikamiUitOpen 0:f62ffd3644bf 67 }
MikamiUitOpen 0:f62ffd3644bf 68
MikamiUitOpen 0:f62ffd3644bf 69 #ifdef MBED_OPERATORS
MikamiUitOpen 0:f62ffd3644bf 70 BusOut& BusOut::operator= (int v) {
MikamiUitOpen 0:f62ffd3644bf 71 write(v);
MikamiUitOpen 0:f62ffd3644bf 72 return *this;
MikamiUitOpen 0:f62ffd3644bf 73 }
MikamiUitOpen 0:f62ffd3644bf 74
MikamiUitOpen 0:f62ffd3644bf 75 BusOut& BusOut::operator= (BusOut& rhs) {
MikamiUitOpen 0:f62ffd3644bf 76 write(rhs.read());
MikamiUitOpen 0:f62ffd3644bf 77 return *this;
MikamiUitOpen 0:f62ffd3644bf 78 }
MikamiUitOpen 0:f62ffd3644bf 79
MikamiUitOpen 0:f62ffd3644bf 80 DigitalOut& BusOut::operator[] (int index) {
MikamiUitOpen 0:f62ffd3644bf 81 MBED_ASSERT(index >= 0 && index <= 16);
MikamiUitOpen 0:f62ffd3644bf 82 MBED_ASSERT(_pin[index]);
MikamiUitOpen 0:f62ffd3644bf 83 return *_pin[index];
MikamiUitOpen 0:f62ffd3644bf 84 }
MikamiUitOpen 0:f62ffd3644bf 85
MikamiUitOpen 0:f62ffd3644bf 86 BusOut::operator int() {
MikamiUitOpen 0:f62ffd3644bf 87 return read();
MikamiUitOpen 0:f62ffd3644bf 88 }
MikamiUitOpen 0:f62ffd3644bf 89 #endif
MikamiUitOpen 0:f62ffd3644bf 90
MikamiUitOpen 0:f62ffd3644bf 91 } // namespace mbed