Ignore:
Timestamp:
Apr 5, 2019, 9:26:53 PM (5 years ago)
Author:
coas-nagasima
Message:

mbed関連を更新
シリアルドライバをmbedのHALを使うよう変更
ファイルディスクリプタの処理を更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_tinet_ecnl_arm/trunk/btstack/src/rfcomm.c

    r352 r374  
    136136    event[0] = RFCOMM_EVENT_INCOMING_CONNECTION;
    137137    event[1] = sizeof(event) - 2;
    138     bt_flip_addr(&event[2], channel->multiplexer->remote_addr);
     138    reverse_bd_addr(channel->multiplexer->remote_addr, &event[2]);
    139139    event[8] = channel->dlci >> 1;
    140     bt_store_16(event, 9, channel->rfcomm_cid);
     140    little_endian_store_16(event, 9, channel->rfcomm_cid);
    141141    hci_dump_packet(HCI_EVENT_PACKET, 0, event, sizeof(event));
    142142        (*app_packet_handler)(channel->connection, HCI_EVENT_PACKET, 0, (uint8_t *) event, sizeof(event));
     
    157157    event[pos++] = sizeof(event) - 2;
    158158    event[pos++] = status;
    159     bt_flip_addr(&event[pos], channel->multiplexer->remote_addr); pos += 6;
    160     bt_store_16(event,  pos, channel->multiplexer->con_handle);   pos += 2;
     159    reverse_bd_addr(channel->multiplexer->remote_addr, &event[pos]); pos += 6;
     160    little_endian_store_16(event,  pos, channel->multiplexer->con_handle);   pos += 2;
    161161        event[pos++] = channel->dlci >> 1;
    162         bt_store_16(event, pos, channel->rfcomm_cid); pos += 2;       // channel ID
    163         bt_store_16(event, pos, channel->max_frame_size); pos += 2;   // max frame size
     162        little_endian_store_16(event, pos, channel->rfcomm_cid); pos += 2;       // channel ID
     163        little_endian_store_16(event, pos, channel->max_frame_size); pos += 2;   // max frame size
    164164    hci_dump_packet(HCI_EVENT_PACKET, 0, event, sizeof(event));
    165165        (*app_packet_handler)(channel->connection, HCI_EVENT_PACKET, 0, (uint8_t *) event, pos);
     
    175175    event[pos++] = sizeof(event) - 2;
    176176    event[pos++] = BTSTACK_MEMORY_ALLOC_FAILED;
    177     bt_flip_addr(&event[pos], *addr); pos += 6;
    178     bt_store_16(event,  pos, 0);   pos += 2;
     177    reverse_bd_addr(*addr, &event[pos]); pos += 6;
     178    little_endian_store_16(event,  pos, 0);   pos += 2;
    179179        event[pos++] = server_channel;
    180         bt_store_16(event, pos, 0); pos += 2;   // channel ID
    181         bt_store_16(event, pos, 0); pos += 2;   // max frame size
     180        little_endian_store_16(event, pos, 0); pos += 2;   // channel ID
     181        little_endian_store_16(event, pos, 0); pos += 2;   // max frame size
    182182    hci_dump_packet(HCI_EVENT_PACKET, 0, event, sizeof(event));
    183183        (*app_packet_handler)(connection, HCI_EVENT_PACKET, 0, (uint8_t *) event, pos);
     
    204204    event[0] = RFCOMM_EVENT_CHANNEL_CLOSED;
    205205    event[1] = sizeof(event) - 2;
    206     bt_store_16(event, 2, channel->rfcomm_cid);
     206    little_endian_store_16(event, 2, channel->rfcomm_cid);
    207207    hci_dump_packet(HCI_EVENT_PACKET, 0, event, sizeof(event));
    208208        (*app_packet_handler)(channel->connection, HCI_EVENT_PACKET, 0, (uint8_t *) event, sizeof(event));
     
    214214    event[0] = RFCOMM_EVENT_CREDITS;
    215215    event[1] = sizeof(event) - 2;
    216     bt_store_16(event, 2, channel->rfcomm_cid);
     216    little_endian_store_16(event, 2, channel->rfcomm_cid);
    217217    event[4] = credits;
    218218    hci_dump_packet(HCI_EVENT_PACKET, 0, event, sizeof(event));
     
    237237    event[0] = RFCOMM_EVENT_REMOTE_LINE_STATUS;
    238238    event[1] = sizeof(event) - 2;
    239     bt_store_16(event, 2, channel->rfcomm_cid);
     239    little_endian_store_16(event, 2, channel->rfcomm_cid);
    240240    event[4] = line_status;
    241241    hci_dump_packet( HCI_EVENT_PACKET, 0, event, sizeof(event));
     
    905905        case L2CAP_EVENT_INCOMING_CONNECTION:
    906906            // data: event(8), len(8), address(48), handle (16),  psm (16), source cid(16) dest cid(16)
    907             bt_flip_addr(event_addr, &packet[2]);
    908             con_handle = READ_BT_16(packet,  8);
    909             psm        = READ_BT_16(packet, 10);
    910             l2cap_cid  = READ_BT_16(packet, 12);
     907            reverse_bd_addr(&packet[2], event_addr);
     908            con_handle = little_endian_read_16(packet,  8);
     909            psm        = little_endian_read_16(packet, 10);
     910            l2cap_cid  = little_endian_read_16(packet, 12);
    911911
    912912            if (psm != PSM_RFCOMM) break;
     
    939939        case L2CAP_EVENT_CHANNEL_OPENED:
    940940
    941             if (READ_BT_16(packet, 11) != PSM_RFCOMM) break;
     941            if (little_endian_read_16(packet, 11) != PSM_RFCOMM) break;
    942942
    943943            status = packet[2];
     
    945945
    946946            // get multiplexer for remote addr
    947             con_handle = READ_BT_16(packet, 9);
    948             l2cap_cid = READ_BT_16(packet, 13);
    949             bt_flip_addr(event_addr, &packet[3]);
     947            con_handle = little_endian_read_16(packet, 9);
     948            l2cap_cid = little_endian_read_16(packet, 13);
     949            reverse_bd_addr(&packet[3], event_addr);
    950950            multiplexer = rfcomm_multiplexer_for_addr(&event_addr);
    951951            if (!multiplexer) {
     
    990990
    991991                // set max frame size based on l2cap MTU
    992                 multiplexer->max_frame_size = rfcomm_max_frame_size_for_l2cap_mtu(READ_BT_16(packet, 17));
     992                multiplexer->max_frame_size = rfcomm_max_frame_size_for_l2cap_mtu(little_endian_read_16(packet, 17));
    993993            }
    994994            return 1;
     
    998998        case L2CAP_EVENT_CREDITS:
    999999            // data: event(8), len(8), local_cid(16), credits(8)
    1000             l2cap_cid = READ_BT_16(packet, 2);
     1000            l2cap_cid = little_endian_read_16(packet, 2);
    10011001            multiplexer = rfcomm_multiplexer_for_l2cap_cid(l2cap_cid);
    10021002            if (!multiplexer) break;
     
    10191019        case L2CAP_EVENT_CHANNEL_CLOSED:
    10201020            // data: event (8), len(8), channel (16)
    1021             l2cap_cid = READ_BT_16(packet, 2);
     1021            l2cap_cid = little_endian_read_16(packet, 2);
    10221022            multiplexer = rfcomm_multiplexer_for_l2cap_cid(l2cap_cid);
    10231023            log_info("L2CAP_EVENT_CHANNEL_CLOSED cid 0x%0x, mult %p", l2cap_cid, multiplexer);
     
    14781478                    event_pn.super.type = CH_EVT_RCVD_PN;
    14791479                    event_pn.priority = packet[payload_offset+4];
    1480                     event_pn.max_frame_size = READ_BT_16(packet, payload_offset+6);
     1480                    event_pn.max_frame_size = little_endian_read_16(packet, payload_offset+6);
    14811481                    event_pn.credits_outgoing = packet[payload_offset+9];
    14821482                    log_info("Received UIH Parameter Negotiation Command for #%u, credits %u",
     
    14891489                    event_pn.super.type = CH_EVT_RCVD_PN_RSP;
    14901490                    event_pn.priority = packet[payload_offset+4];
    1491                     event_pn.max_frame_size = READ_BT_16(packet, payload_offset+6);
     1491                    event_pn.max_frame_size = little_endian_read_16(packet, payload_offset+6);
    14921492                    event_pn.credits_outgoing = packet[payload_offset+9];
    14931493                    log_info("Received UIH Parameter Negotiation Response max frame %u, credits %u",
Note: See TracChangeset for help on using the changeset viewer.