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:
Sun Oct 21 11:29:47 2018 +0000
Revision:
0:f62ffd3644bf
1

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 "BusInOut.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 BusInOut::BusInOut(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 DigitalInOut(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 BusInOut::BusInOut(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 DigitalInOut(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 BusInOut::~BusInOut() {
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 BusInOut::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 BusInOut::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 void BusInOut::output() {
MikamiUitOpen 0:f62ffd3644bf 70 for (int i=0; i<16; i++) {
MikamiUitOpen 0:f62ffd3644bf 71 if (_pin[i] != 0) {
MikamiUitOpen 0:f62ffd3644bf 72 _pin[i]->output();
MikamiUitOpen 0:f62ffd3644bf 73 }
MikamiUitOpen 0:f62ffd3644bf 74 }
MikamiUitOpen 0:f62ffd3644bf 75 }
MikamiUitOpen 0:f62ffd3644bf 76
MikamiUitOpen 0:f62ffd3644bf 77 void BusInOut::input() {
MikamiUitOpen 0:f62ffd3644bf 78 for (int i=0; i<16; i++) {
MikamiUitOpen 0:f62ffd3644bf 79 if (_pin[i] != 0) {
MikamiUitOpen 0:f62ffd3644bf 80 _pin[i]->input();
MikamiUitOpen 0:f62ffd3644bf 81 }
MikamiUitOpen 0:f62ffd3644bf 82 }
MikamiUitOpen 0:f62ffd3644bf 83 }
MikamiUitOpen 0:f62ffd3644bf 84
MikamiUitOpen 0:f62ffd3644bf 85 void BusInOut::mode(PinMode pull) {
MikamiUitOpen 0:f62ffd3644bf 86 for (int i=0; i<16; i++) {
MikamiUitOpen 0:f62ffd3644bf 87 if (_pin[i] != 0) {
MikamiUitOpen 0:f62ffd3644bf 88 _pin[i]->mode(pull);
MikamiUitOpen 0:f62ffd3644bf 89 }
MikamiUitOpen 0:f62ffd3644bf 90 }
MikamiUitOpen 0:f62ffd3644bf 91 }
MikamiUitOpen 0:f62ffd3644bf 92
MikamiUitOpen 0:f62ffd3644bf 93 #ifdef MBED_OPERATORS
MikamiUitOpen 0:f62ffd3644bf 94 BusInOut& BusInOut::operator= (int v) {
MikamiUitOpen 0:f62ffd3644bf 95 write(v);
MikamiUitOpen 0:f62ffd3644bf 96 return *this;
MikamiUitOpen 0:f62ffd3644bf 97 }
MikamiUitOpen 0:f62ffd3644bf 98
MikamiUitOpen 0:f62ffd3644bf 99 BusInOut& BusInOut::operator= (BusInOut& rhs) {
MikamiUitOpen 0:f62ffd3644bf 100 write(rhs.read());
MikamiUitOpen 0:f62ffd3644bf 101 return *this;
MikamiUitOpen 0:f62ffd3644bf 102 }
MikamiUitOpen 0:f62ffd3644bf 103
MikamiUitOpen 0:f62ffd3644bf 104 DigitalInOut& BusInOut::operator[] (int index) {
MikamiUitOpen 0:f62ffd3644bf 105 MBED_ASSERT(index >= 0 && index <= 16);
MikamiUitOpen 0:f62ffd3644bf 106 MBED_ASSERT(_pin[index]);
MikamiUitOpen 0:f62ffd3644bf 107 return *_pin[index];
MikamiUitOpen 0:f62ffd3644bf 108 }
MikamiUitOpen 0:f62ffd3644bf 109
MikamiUitOpen 0:f62ffd3644bf 110 BusInOut::operator int() {
MikamiUitOpen 0:f62ffd3644bf 111 return read();
MikamiUitOpen 0:f62ffd3644bf 112 }
MikamiUitOpen 0:f62ffd3644bf 113 #endif
MikamiUitOpen 0:f62ffd3644bf 114
MikamiUitOpen 0:f62ffd3644bf 115 } // namespace mbed