Portwell RUBY-D811-Q370 User Manual

Portwell RUBY-D811-Q370 User Manual

Industrial atx board

Advertisement

Quick Links

RUBY-D811-Q370
RUBY-D811-Q370
Industrial ATX Board
Version 1.6
Copyright © Portwell 2019
RUBY-D811-Q370
1
User's Guide

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the RUBY-D811-Q370 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Portwell RUBY-D811-Q370

  • Page 1 RUBY-D811-Q370 RUBY-D811-Q370 Industrial ATX Board Version 1.6 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 2 R1.2 Update board size information R1.3 Update jumper information R1.4 Update USB3.0 information Update RAID Item of SATA Mode Selection & Super IO R1.5 Configuration & TPM information R1.6 Update memory support information Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 3: Table Of Contents

    Intel® Coffee Lake -S PCH ..................................76 Main Memory ......................................76 Installing the Single Board Computer ..............................76 6.3.1 Chipset Component Driver ..................................77 6.3.2 Intel® UHD Graphics 630 ..................................78 6.3.3 Intel LAN I210AT/I219LM Gigabit Ethernet Controller..........................78 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 4 7.2.6 Exit ........................................113 Troubleshooting ............................................ 115 Hardware Quick Installation ................................. 115 BIOS Setting ....................................... 116 FAQ ........................................117 Portwell Software Service ........................................122 Industry Specifications ......................................... 123 10.1 Industry Specifications ..................................123 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 5 Portwell provides no warranty with regard to this user’s guide or any other information contained herein and hereby expressly disclaims any implied warranties of merchantability or fitness for any particular purpose with regard to any of the foregoing. Portwell assumes no liability for any damages incurred directly or indirectly from any technical or typographical errors or omissions contained herein or for discrepancies between the product and the user’s guide.
  • Page 6 Warranty”). Portwell may in its sole discretion modify its Limited Warranty at any time and from time to time. Beginning on the date of shipment to its direct customer and continuing for the published warranty period, Portwell represents that the products are new and warrants that each product failing to function properly under normal use, due to a defect in materials or workmanship or due to non conformance to the agreed upon specifications, will be repaired or exchanged, at Portwell’s option and expense.
  • Page 7: Introduction

    RUBY-D811-Q370 1 Introduction RUBY-D811-Q370 based on the Intel® Core™ Processor which offers 14nm Hi-K process technology with energy efficient architecture. RUBY-D811 support dual channels DDR4 Long - DIMM up to 64GB. Desktop solution is still popular in the market of DVR and Factory Automation which can fulfill most of these applications; therefore, with high performance and...
  • Page 8: Specifications

    Audio Interface: Line-in / Line-Out / Mic-In ◆ Supports dual 10/100/1000 Mbps Ethernet port (s) via PCI Express x1 bus which provides 500 MB/s ◆ Ethernet data transmission rate High Drive GPIO One pin-header for GPIO(8bit GPIO ) ◆ Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 9: Supported Operating Systems

    The RUBY-D811 supports the following operating systems.  Windows 10 Enterprise & IOT Enterprise (64b) RS3  Ubuntu, SuSe, Redhat Enterprise 1,2 (Kernel 4.14)  Yocto 2.4 Tool-based Embedded Linux Distribution  Wind River VxWorks 7 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 10: Mechanical Dimensions

    RUBY-D811-Q370 2.2 Mechanical Dimensions Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 11: Power Consumption

    RUBY-D811-Q370 2.3 Power Consumption Test Configuration CPU Type Intel® Core™ i7-8700TE CPU @ 3.2GHz SBC BIOS Portwell, Inc. RUBY-D811 TEST BIOS (90418T00) Memory WARIS UB-DIMM DDR4 2133 16GB VGA Card Onboard Intel® UHD Graphics 630 VGA Driver Intel® UHD Graphics 630 Version: 24.20.100.6286 LAN Card Onboard Intel®...
  • Page 12: Environmental Specifications

    System+ Device +12V 0.97A 1.81A 1.56A System+ Device +5V 1.87A USB2.0 Loading Test 4.98 V/ 570 mA 2.4 Environmental Specifications Storage Temperature : -20~80°C Operation Temperature : 0~60°C Storage Humidity : 5~90% Operation Humidity: 10~90% Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 13: Block Diagram

    RUBY-D811-Q370 3 Block Diagram Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 14: Hardware Configuration

    RUBY-D811-Q370 4 Hardware Configuration 4.1 Jumpers and Connectors This chapter indicates jumpers’, headers’ and connectors’ locations. Users may find useful information related to hardware settings in this chapter. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 15: Jumpers Settings

    USB3_PWR3 (For USB3_5_6) USB 3.0 Header (USB3_11_12) M.2 Key-M Socket (M2_1) M.2 Key-E Socket (M2_2) System Panel Header COM Port Pin9 PWR Setting Jumpers (For COM Port7~10) COM7, 8, 9, 10 _COM Port Headers Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 16 LPC Header Digital Input / Output Default Value Setting (JGPIO_SET1) Front Panel Audio Header SPDIF Header Chassis Intrusion Headers (CI1, CI2) ATX/AT Mode Jumper (SIO_AT1) USB3_PWR1 (For USB3_1_2) USB3_PWR2 (For USB3_3_4) Audio Jacks Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 17 Top : COM Port (COM2) (RS232/422/485)* Bottom : D-Sub Port (VGA1) Top : COM Port (COM1) (RS232/422/485)* Bottom Right : PS/2 Keyboard/Mouse Port Bottom Left: HDMI Port (HDMI2) Top : DisplayPort 1 Bottom : DisplayPort 2 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 18 RUBY-D811-Q370 1: ATX 12V Power Connector 2: CPU FAN Connector (+12V) 3: 24-pin ATX Power Input Connector 4: PWR LOSS Header (PWR_LOSS1) Short: Power Loss Open: no Power Loss Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 19 USB Power Setting Jumpers 6 : USB3_PWR3 (For USB3_5_6) 16 : USB2_PWR3 (For USB2_9_10) 19 : USB2_PWR2 (For USB2_7_8) 21 : USB2_PWR1 (For USB2_5_6) 32 : USB3_PWR1 (For USB3_1_2) 1-2:+5V 2-3:+5VSB 7: USB 3.0 Header (USB3_11_12) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 20 RUBY-D811-Q370 8: M.2 Key-M Socket (M2_1) 9: M.2 Key-E Socket (M2_2) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 21 PWR_COM10 (For COM Port10) 23 : PWR_COM3 (For COM Port3) PWR_COM4 (For COM Port4) PWR_COM5 (For COM Port5) PWR_COM6 (For COM Port6) 38 : PWR_COM1 (For COM Port1) PWR_COM2 (For COM Port2) 1-2: +5V 2-3: +12V Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 22 RUBY-D811-Q370 COM Port Headers (COM3~10) (RS232) 12 : COM7, 8, 9, 10 22 : COM3, 4, 5, 6 13: ATX/AT Mode Jumper (PWR_JP1) 1-2: AT Mode 2-3: ATX Mode Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 23 18 : USB2_7_8 20 : USB2_5_6 Clear CMOS Headers 15 : CLRMOS1 : 1-2 : Normal 2-3 : Clear CMOS 17 : CLRMOS2 : Open : Normal Short : Auto Clear CMOS (Power Off) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 24 24: Printer Port / GPIO Header (LPT_GPIO1) Printer Port: GPIO: * If you want to use the printer port function, please short pin4 and pin5 on Digital Input / Output Power Select (JGPIO_PWR1). Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 25 RUBY-D811-Q370 25: Digital Input / Output Power Select(JGPIOPWR) (JGPIO_PWR1) 1-2: +12V 2-3: +5V 3-4: +5V 4-5: GND 26: LPC Header Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 26 RUBY-D811-Q370 27: Digital Input / Output Default Value Setting (JGPIO_SET1) 1-2: Pull-High 2-3: Pull-Low 28: Front Panel Audio Header 29: SPDIF Header Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 27 CI2: Close: Normal Open: Active Case Open 31: ATX/AT Mode Jumper (SIO_AT1) Open: ATX Mode Short: AT Mode 32: Audio Jacks Blue - Line In Green - Line Out Pink - Mic In Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 28 LAN_LED1 (For LAN1 Port) LAN_LED2 (For LAN2 Port) 37: Top : RJ45 LAN Port (LAN1) Bottom : USB 3.0 Ports (USB3_3_4) 39: Top : COM Port (COM2) (RS232/422/485)* Bottom : D-Sub Port (VGA1) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 29 (RS232/422/485) can be adjusted in BIOS setup utility > Advanced Screen > Super IO Configuration. You may refer to our user manual for details. 41: Top : DisplayPort 1 Bottom : DisplayPort 2 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 30: Signal Descriptions

    &WDTimer); ShowError(bSuccess = AsrLibWDSetConfig(WDTimer)); ShowError(bSuccess = AsrLibWDTrigger()); char Key = 0; int CurrentTime = 0; int WaitSeconds = WDTimer; while (WaitSeconds) { ShowError(CurrentTime = AsrLibWDCounter()); WaitSeconds++; while (1) while (kbhit()) Key = _getch(); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 31 (Key == 'c') { AsrLibWDDisable(); WaitSeconds = 0; _tprintf(_T("\nWatchDog Disable")); break; if (WaitSeconds == 0) break; if (CurrentTime != AsrLibWDCounter()) { WaitSeconds--; printf("\rWatchDog timer %d, press 'r' to reset timer, 'c' to disable WatchDog.", WaitSeconds); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 32 RUBY-D811-Q370 CurrentTime = AsrLibWDCounter(); printf("\n"); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 33: Gpio Signal

    = false; _tprintf(_T("\n")); _tprintf(_T("Currnet state\n")); _tprintf(_T("--------------------------------------\n")); // Check AsrLibGetSioGpioGroup & AsrLibSetSioGpioGroup SSCORE_GPIO_VALUE GpioValue; ShowError(bSuccess = AsrLibGetSioGpioValue(0, &GpioValue)); printf("PortPin=70\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 34 RUBY-D811-Q370 break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(71, &GpioValue)); printf("PortPin=71\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 35 RUBY-D811-Q370 _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(72, &GpioValue)); printf("PortPin=72\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 36 RUBY-D811-Q370 _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(73, &GpioValue)); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 37 RUBY-D811-Q370 printf("PortPin=73\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 38 RUBY-D811-Q370 _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(74, &GpioValue)); printf("PortPin=74\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 39 RUBY-D811-Q370 case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(75, &GpioValue)); printf("PortPin=75\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 40 RUBY-D811-Q370 break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(76, &GpioValue)); printf("PortPin=76\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 41 RUBY-D811-Q370 _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(77, &GpioValue)); printf("PortPin=77\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 42 RUBY-D811-Q370 case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(80, &GpioValue)); printf("PortPin=80\n"); switch (GpioValue.Value) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 43 RUBY-D811-Q370 case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 44 RUBY-D811-Q370 ShowError(bSuccess = AsrLibGetSioGpioValue(81, &GpioValue)); printf("PortPin=81\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 45 RUBY-D811-Q370 default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(82, &GpioValue)); printf("PortPin=82\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 46 RUBY-D811-Q370 break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(83, &GpioValue)); printf("PortPin=83\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 47 RUBY-D811-Q370 _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(84, &GpioValue)); printf("PortPin=84\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 48 RUBY-D811-Q370 case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(85, &GpioValue)); printf("PortPin=85\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 49 ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(86, &GpioValue)); printf("PortPin=86\n"); switch (GpioValue.Value) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 50 RUBY-D811-Q370 case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 51 RUBY-D811-Q370 printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(87, &GpioValue)); printf("PortPin=87\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 52 ShowError(bSuccess = AsrLibSetSioGpioValue(73, ESCORE_GPIO_INPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(74, ESCORE_GPIO_INPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(75, ESCORE_GPIO_INPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(76, ESCORE_GPIO_INPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(77, ESCORE_GPIO_INPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(80, ESCORE_GPIO_INPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(81, ESCORE_GPIO_INPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(82, ESCORE_GPIO_INPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(83, ESCORE_GPIO_INPUT_LOW)); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 53 ShowError(bSuccess = AsrLibSetSioGpioValue(82, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(83, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(84, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(85, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(86, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(87, ESCORE_GPIO_OUTPUT_LOW)); } else if (GPIOType == 3) { ShowError(bSuccess = AsrLibSetSioGpioValue(70, ESCORE_GPIO_OUTPUT_HIGH)); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 54 ShowError(bSuccess = AsrLibSetSioGpioValue(87, ESCORE_GPIO_OUTPUT_HIGH)); } else { ShowError(bSuccess = AsrLibSetSioGpioValue(70, ESCORE_GPIO_OUTPUT_HIGH)); ShowError(bSuccess = AsrLibSetSioGpioValue(71, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(72, ESCORE_GPIO_OUTPUT_HIGH)); ShowError(bSuccess = AsrLibSetSioGpioValue(73, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(74, ESCORE_GPIO_OUTPUT_HIGH)); ShowError(bSuccess = AsrLibSetSioGpioValue(75, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(76, ESCORE_GPIO_OUTPUT_HIGH)); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 55 ShowError(bSuccess = AsrLibSetSioGpioValue(83, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(84, ESCORE_GPIO_OUTPUT_HIGH)); ShowError(bSuccess = AsrLibSetSioGpioValue(85, ESCORE_GPIO_OUTPUT_LOW)); ShowError(bSuccess = AsrLibSetSioGpioValue(86, ESCORE_GPIO_OUTPUT_HIGH)); ShowError(bSuccess = AsrLibSetSioGpioValue(87, ESCORE_GPIO_OUTPUT_LOW)); _tprintf(_T("New state\n")); _tprintf(_T("--------------------------------------\n")); ShowError(bSuccess = AsrLibGetSioGpioValue(70, &GpioValue)); printf("PortPin=70\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 56 RUBY-D811-Q370 _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(71, &GpioValue)); printf("PortPin=71\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 57 RUBY-D811-Q370 _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(72, &GpioValue)); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 58 RUBY-D811-Q370 printf("PortPin=72\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 59 RUBY-D811-Q370 _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(73, &GpioValue)); printf("PortPin=73\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 60 RUBY-D811-Q370 case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(74, &GpioValue)); printf("PortPin=74\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 61 RUBY-D811-Q370 break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(75, &GpioValue)); printf("PortPin=75\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 62 RUBY-D811-Q370 _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(76, &GpioValue)); printf("PortPin=76\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 63 RUBY-D811-Q370 case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(77, &GpioValue)); printf("PortPin=77\n"); switch (GpioValue.Value) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 64 RUBY-D811-Q370 case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 65 RUBY-D811-Q370 ShowError(bSuccess = AsrLibGetSioGpioValue(80, &GpioValue)); printf("PortPin=80\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 66 RUBY-D811-Q370 default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(81, &GpioValue)); printf("PortPin=81\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 67 RUBY-D811-Q370 break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(82, &GpioValue)); printf("PortPin=82\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 68 RUBY-D811-Q370 _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(83, &GpioValue)); printf("PortPin=83\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 69 RUBY-D811-Q370 case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(84, &GpioValue)); printf("PortPin=84\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 70 ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(85, &GpioValue)); printf("PortPin=85\n"); switch (GpioValue.Value) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 71 RUBY-D811-Q370 case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 72 RUBY-D811-Q370 printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(86, &GpioValue)); printf("PortPin=86\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: _tprintf(_T("ESCORE_GPIO_OUTPUT_LOW]\n")); break; case ESCORE_GPIO_OUTPUT_HIGH: _tprintf(_T("ESCORE_GPIO_OUTPUT_HIGH]\n")); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 73 RUBY-D811-Q370 break; default: _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); ShowError(bSuccess = AsrLibGetSioGpioValue(87, &GpioValue)); printf("PortPin=87\n"); switch (GpioValue.Value) case ESCORE_GPIO_NOT_GPIO: _tprintf(_T("ESCORE_GPIO_NOT_GPIO]\n")); break; case ESCORE_GPIO_DISABLED: _tprintf(_T("ESCORE_GPIO_DISABLED]\n")); break; case ESCORE_GPIO_INPUT_LOW: _tprintf(_T("ESCORE_GPIO_INPUT_LOW]\n")); break; case ESCORE_GPIO_INPUT_HIGH: _tprintf(_T("ESCORE_GPIO_INPUT_HIGH]\n")); break; case ESCORE_GPIO_OUTPUT_LOW: Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 74 _tprintf(_T("UNKNOWN VALUE[0x%02X]\n"), GpioValue.Value); printf("\n"); /*_tprintf(_T("\n")); _tprintf(_T("Currnet state\n")); _tprintf(_T("--------------------------------------\n")); int GP2x = 5; int PinCount = 8; int n = 0; SSCORE_GPIO_VALUE Values[8]; ::AsrLibGetSioGpioGroup(GP2x, Values, &PinCount); for (n = 0; n < PinCount; n++) { DisplayGpioString(&Values[n]); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 75 _tprintf(_T("\n")); ::AsrLibSetSioGpioValue(50, ESCORE_GPIO_OUTPUT_LOW); ::AsrLibSetSioGpioValue(51, ESCORE_GPIO_INPUT); ::AsrLibSetSioGpioValue(52, ESCORE_GPIO_OUTPUT_LOW); ::AsrLibSetSioGpioValue(53, ESCORE_GPIO_INPUT); ::AsrLibSetSioGpioValue(54, ESCORE_GPIO_OUTPUT_HIGH); ::AsrLibSetSioGpioValue(55, ESCORE_GPIO_INPUT); ::AsrLibSetSioGpioValue(56, ESCORE_GPIO_OUTPUT_HIGH); ::AsrLibSetSioGpioValue(57, ESCORE_GPIO_INPUT); _tprintf(_T("New state\n")); _tprintf(_T("--------------------------------------\n")); ::AsrLibGetSioGpioGroup(GP2x, Values, &PinCount); for (n = 0; n < PinCount; n++) { DisplayGpioString(&Values[n]); Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 76: System Resources

    Step 2 : Install and configure CPU,CPU cooling and memory module on right position Step 3 : Place RUBY-D811 into the dedicated position in the system Step 4 : Attach cables to existing peripheral devices and secure it Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 77: Chipset Component Driver

    To overcome this compatibility issue, for Windows Operating Systems such as Windows 8, please install its INF before any of other Drivers are installed. You can find very easily this chipset component driver in RUBY-D811 CD-title Copyright © Portwell 2019 RUBY-D811-Q370...
  • Page 78: Intel® Uhd Graphics 630

    - Intel I210AT Gigabit Ethernet controller and 1x RJ45 connectors on rear I/O - Intel I219LM Gigabit Ethernet controller and 1x RJ45 connectors on rear I/O Drivers Support Please find Intel I210AT/I219LM LAN driver in /Ethernet directory of RUBY-D811 CD-title. The driver supports Windows 10. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 79: Bios Setup Items

    The BIOS setup program provides a General Help screen. The menu can be easily called up from any menu by pressing <F1>. The Help screen lists all the possible keys to use and the selections for the highlighted item. Press <Esc> to exit the Help Screen. Copyright © Portwell 2019 RUBY-D811-Q370...
  • Page 80 RUBY-D811-Q370 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 81: Main

    The date format is <Day>, <Month> <Date> <Year>. Use [+] or [-] to configure system Date. System Date The time format is <Hour> <Minute> <Second>. Use [+] or [-] to configure system Time. System Time Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 82: Advanced

    RUBY-D811-Q370 7.2.2 Advanced Use this menu to set up the items of special enhanced features Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 83 RUBY-D811-Q370 CPU Configuration CPU Configuration Parameters Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 84 ★Enabled, Disabled Intel Speed Step Technology Allows more than two frequency ranges to be supported. Enable CPU internal thermal control mechanisms to keep the CPU from overheating. ★Enabled, Disabled CPU Thermal Throttling Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 85 RUBY-D811-Q370 Chipset Configuration Configuration Chipset Settings Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 86 Select the power state after a power failure. If [Power Off] is selected, the power will remain ★Power Off ,Power On Restore on AC/Power Loss off when the power recovers. If [Power On] is selected, the system will start to boot up when the power recovers. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 87 RUBY-D811-Q370 Storage Configuration Configure storage devices Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 88 It is only supported by AHCI mode. S.M.A.R.T stands for Self-Monitoring, Analysis, and Reporting system for ★Enabled , Disabled Hard Disk S.M.A.R.T computer hard disk drives to detect and report on various indicators of reliability. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 89 Hot Plug Enable or disable Hot Plug for this port. SATA Device Type Identify the SATA port is connected to Solid State Drive or Hard Disk Drive. ★Hard Disk Drive, Solid State Drive Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 90 Hot Plug Enable or disable Hot Plug for this port. Identify the SATA port is connected to Solid State Drive or Hard Disk Drive. ★Hard Disk Drive, Solid State Drive SATA Device Type Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 91 RUBY-D811-Q370 Super IO Configuration Configure Super IO Settings Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 92 IO=278h; IRQ=5,6,7,9,10,11,12; DMA=1,3 ★Disabled , Enabled WDT Timeout Reset Enable/Disable Watch Dog Timer timeout to reset system. WDT Timeout Reset [Enabled] WDT Initial Value (Sec.) Watch Dog Timer Initial Value to count down. ★255 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 93 MEBx Setup. Note: This option does not disable Manageability Features in FW ASF support Enable/Disable Alert Standard Format support. ★Enable ,Disabled, ★Disabled, Enable USB Provisioning of AMT Enable/Disable of AMT USB Provisioning. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 94 Activate Remote Assistance Process[Enabled ] OEM defined timeout for MPS connection to be established. CIRA Timeout 0- Use the default timeout value of 60 seconds. ★0 255- MEBx waits until the connection succeeds. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 95 ★Disabled, Enable WatchDog Enable/Disable WatchDog Timer. WatchDog[Enabled] OS Timer Set OS watchdog timer ★0 BIOS Timer Set BIOS watchdog timer ★0 ★Disabled, Enable ASF Sensors Table Adds ASF Sensor Table into ASF! ACPI Table Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 96 Description Options Change Secure Erase module behavior: ★Simulation, Real Secure Erase mode Simulated: Performs SE flow without erasing SSD Real: Erase SSD. ★Disabled, Enable Force Secure Erase Force Secure Erase on next boot Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 97 Prompt unconfiguration. ★Disabled, Enable MEBx OEM Debug Menu Enable OEMFlag Bit 14: Enable OEM debug menu in MEBx. ★Disabled, Enable Unconfigure ME OEMFlag Bit 15: Unconfigure ME with resetting MEBx password to default. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 98 Feature Description Options ★Auto, 80x25,100x31 Non-UI Mode Resolution Resolution for non-UI text mode. ★Auto, 80x25,100x31 UI Mode Resolution Resolution for UI text mode. ★Auto, 640x480,800x600, Graphics Mode Resolution Resolution for graphic mode. 1024x768 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 99 RUBY-D811-Q370 ACPI Configuration Configure ACPI Settings Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 100 12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,20, RTC Alarm Minute Set Minute of RTC power on feature. 30,31,32,33,34,35,36,37,38, 39,40,41,42,43,44,45,46,47, 48,49,50,51,52,53,54,55,56, 57,58,59 ★0,1,2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,20, RTC Alarm Second Set Second of RTC power on feature. 30,31,32,33,34,35,36,37,38, 39,40,41,42,43,44,45,46,47, 48,49,50,51,52,53,54,55,56, 57,58,59 Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 101 RUBY-D811-Q370 USB Configuration Configure the USB support Feature Description Options Enables Legacy USB support. AUTO option disables legacy support if no USB devices ★Enabled, UEFI Setup Only Legacy USB Support are connected. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 102 RUBY-D811-Q370 Trusted Computing Trusted Computing Settings Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 103 TPM2.0 devices, Auto will support both with the default set to TPM2.0 devices if ★Auto ,TPM1.2,TPM2.0 not found, TPM1.2 devices will be enumerated ★Enable ,Disable Onboard TPM Enable or disable the onboard TPM interface controller. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 104: H/W Monitor

    RUBY-D811-Q370 7.2.3 H/W Monitor Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 105 The higher the level, the higher the fan speed. Level 6, Level 7, Level 8, ★Disabled, Enabled Case Open Feature Enable or disable the feature of Case Open. ★Enabled ,Disabled, Enable or disable OTP Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 106: Security

    Set or change the password for the user account. Users are unable to change the settings in User Password the UEFI Setup Utility. Leave it blank and press enter to remove the password. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 107: Secure Boot

    Policy variables can be configured by a physically present user without full authentication Install default Secure Boot keys Please install default secure boot keys if it’s the first time you use secure boot. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 108: Key Management

    RUBY-D811-Q370 Key Management Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 109 1.Publuc Key Certificate: Key Exchange Keys a)EFI_SIGNATURE_LIST Authorized Signatures b) EFI_CERT_X509 (DER) Forbidden Signatures c) EFI_CERT_RSA2048 (bin) Authorized TimeStamps d)EFI_CERT_SHAXXX 2.Authenticated UEFI Variable OsRecovery Signatures 3.EFI PE/COFF Image(SHA256) Key Source: Factory, External, Mixed Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 110: Boot

    Select whether Num Lock should be turned on or off when the system boots up. ★Disabled, Enabled Full Screen Logo Enable to display the boot logo or disable to show normal POST messages. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 111: Csm(Compatibility Support Module)

    RUBY-D811-Q370 CSM(Compatibility Support Module) Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 112 ★Legacy only ,Do not launch, UEFI only, Launch Storage OpROM Policy Legacy only to run those that support legacy option ROM only. Select Do not launch to not execute both legacy and UEFI option ROM. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 113: Exit

    RUBY-D811-Q370 7.2.6 Exit Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 114 Load UEFI Default values for all the setup question. Load UEFI Defaults F9 key can be used for this operation. ASRGUID:85D2220D-BE1B-428c-8189-02549689EC42#Copy shellx64.efi to the Launch EFI Shell from filesystem device root directory to launch EFI Shell. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 115: Troubleshooting

    ATX Power Setting Unlike other Single board computer, RUBY-D811-Q370 supports ATX only. Therefore, there is no other setting that needs to be set up. However, there are only two connectors that must be connected—ATX12V1 (4 pins ATX power connector) & ATXPWR1 (20 pins ATX Power Connector) on the RUBY-D811-Q370 board.
  • Page 116: Bios Setting

    To make sure that you have a successful start with RUBY-D811-Q370, it is recommended, when going with the boot-up sequence, to hit “delete” or ”F2” key and enter the BIOS setup menu to tune up a stable BIOS configuration so that you can wake up your system far well.
  • Page 117: Faq

    Question: I forgot my password of system BIOS, what am I supposed to do? Answer: You can switch off your power supply then find the JP24 on the RUBY-D811-Q370 board to set it from 1-2 short to 2-3 short and wait 5 seconds to clean your password then set it back to 1-2 short to switch on your power supply.
  • Page 118 RUBY-D811-Q370 Question: How to update the BIOS file of RUBY-D811-Q370 Answer: 1. Please visit web site of Portwell download center as below hyperlink http://www.portwell.com.tw/support/download_center.php Registering an account in advance is a must. (The E-Mail box should be an existing Company email address that you check regularly.) http://www.portwell.com.tw/member/newmember.php...
  • Page 119 RUBY-D811-Q370 6. .Select “xxxx.23A” file then start updating BIOS. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 120 RUBY-D811-Q370 7. When you see the “Programming success” message, which means the BIOS update processes finished. Please cut the AC power off wait for 10 seconds before powering on. Copyright © Portwell 2019 RUBY-D811-Q370 User's Guide...
  • Page 121 RUBY-D811-Q370 Question: What are the display options while using RUBY-D811-Q370 board? Answer: - The RUBY-D811-Q370 supports VGA、HDMI and DP display output. Note: Please visit our Download Center to get the Catalog, User manual, BIOS, and driver files. http://www.portwell.com.tw/support/download_center.php If you have other additional technical information or request which is not covered in this manual, please fill in the technical request form as below hyperlink.
  • Page 122: Portwell Software Service

    RUBY-D811-Q370 9 Portwell Software Service 1. If you have customized requirements of BIOS, you can contact person of our company or branch. 2. If you have requirements of WDT、GPIO APP, you can contact our headquarter or branch, and we can render you assistance on developing.
  • Page 123: Industry Specifications

    RUBY-D811-Q370 10 Industry Specifications 10.1 Industry Specifications The list below provides links to industry specifications that apply to Portwell modules. Low Pin Count Interface Specification, Revision 1.0 (LPC) http://www.intel.com/design/chipsets/industry/lpc.htm Universal Serial Bus (USB) Specification, Revision 2.0 http://www.usb.org/home PCI Specification, Revision 2.3 https://www.pcisig.com/specifications...

Table of Contents