Skip to content

Commit

Permalink
deploy: cf250fe
Browse files Browse the repository at this point in the history
  • Loading branch information
hyansuper committed Jun 12, 2024
0 parents commit 863938b
Show file tree
Hide file tree
Showing 119 changed files with 12,814 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
78 changes: 78 additions & 0 deletions faq.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<!DOCTYPE html><html><head><title>xDial</title><meta charset="UTF-8"><meta name='viewport' content='width=device-width, initial-scale=1'/><style>
*{font-size:1em;margin:.25em}h1{font-size:1.25em;text-align:center;}
h2{margin:.75em auto;}h2::after{content:"➖";float:right;}.hidden>h2::after{content:"➕"}
.hidden>:not(h2){display:none}section{border-top:1px solid #ccc}
p{text-indent:2em;margin:0.75em}i{font-size:0.95em;background:#fee}u{font-style:italic;font-size:0.95em;background:#efe;text-decoration:none;}
</style><script src='util.js'></script><script>
t_hide=(e,b)=>e.classList.toggle("hidden",b);
addEventListener('load',()=>{
qa('h2').forEach(h=>{var p=h.parentNode;t_hide(p,1);h.onclick=e=>{qa('section').forEach(d=>q('h2',d)!=h&&t_hide(d,1));t_hide(p);}});
var loc=location.hash;if(loc){var el=q(location.hash);if(el){q('h2',loc).onclick();}}
});
</script></head><body>
<h1>常见问题</h1>
<section id='reset_wifi'>
<h2>如何重置 WiFi?</h2>
<p>设备启动时若无法连接 WiFi,会自动进入 WiFi 配网状态。</p>
<p>
您也可以手动让设备进入 WiFi 配网状态:
<ol>
<li>在设备上电前按住<em></em>键,并在启动时保持按下状态约1秒直到“嘀”的一声。</li>
<li>根据提示连接设备提供的 WiFi 热点进行设置。</li>
</ol>
</p>
</section>
<section id='go_to_settings'>
<h2>无法访问设置页面</h2>
<p>
<ol>
<li>请检查设备已联网且与您的手机处于同一局域网内。</li>
<li>进入设备的<u>设置</u>界面,点击右键可开启/关闭设置页面。确保其为开启状态。</li>
<li>扫描设备屏幕上的二维码或访问其下方的网址便可进入设置页面。</li>
</ol>
</p>
</section>
<section id='no_weather_data'>
<h2>没有天气数据</h2>
<p>天气数据是通过<em>免费</em>订阅<a href='https://www.qweather.com' target='_blank'>和风天气</a>获取的,步骤如下:
<ol>
<li><a href='https://dev.qweather.com/' target='_blank'>注册</a>和风天气的开发账号。</li>
<li>登录<a href='https://console.qweather.com/#/apps' target='_blank'>项目管理</a>页面 > 点击<i>创建项目</i> > 选择<i>免费订阅</i><i>Web API</i> > <i>创建</i> > <i>查看</i>并复制 KEY。</li>
<li>转到<i>设置</i>页面,在<i>天气</i>里填入 KEY,查找并选择您所在城市,然后点击<i>保存</i></li>
<li>进入设备的<u>天气</u>界面查看,若仍然没有数据,可点击右键刷新,根据对应的<a href='https://dev.qweather.com/docs/resource/status-code/' target='_blank'>错误状态码</a>可选表盘</li>
</ol>
</p>
<p><a href='get_qweather_key.vid.html' target='_blank'>视频演示</a></p>
<p style="font-size:0.85em;text-indent:0;">
注意:免费订阅的 KEY 每日使用次数有限,请勿与他人分享。
</p>
</section>
<section id='delete_clock_face'>
<h2>下载可选表盘后设备不断重启</h2>
<p>表盘下载过程出错或表盘文件本身格式错误都可能导致设备在加载表盘时出错而重启。</p>
<p>您可以尝试让设备启动时跳过表盘加载,然后进入设置页面删除可选表盘:
<ol>
<li>在设备上电前按住<em></em>键,并在启动时保持按下状态约1秒直到“嘀”的一声。</li>
<li>若设备能顺利启动,您可以在<i>设置</i>页面 > <i>表盘</i> > <i>(可选表盘)</i> > 点击<i>删除</i>按钮来删除可选表盘。</li>
<li>若问题仍未解决,您可以尝试<a href='#' onclick='q("#factory_reset>h2").click()'>恢复出厂设置</a></li>
</ol>
</p>
</section>
<section id='factory_reset'>
<h2>如何恢复出厂设置?</h2>
<p>您可以在设备启动阶段恢复出厂设置,这可能有助于解决一些未知问题:
<ol>
<li>在设备上电前同时按住<em></em>键和<em></em>键,并在启动时保持按下状态约1秒直到“嘀嘀”两声。</li>
<li>此时设备将删除设置页面里的所有个性化设置(包括和风天气的 KEY 和可选表盘),但保留 WiFi 设置。</li>
</ol>
</p>
</section>
<section id='custom_clock_face'>
<h2>如何制作表盘?</h2>
<p>表盘制作教程还在准备中...</p>
</section>
<section id='custom_firmware'>
<h2>能否刷入第三方固件?</h2>
<p>不能,设备串口已关闭。</p>
</section>
</body></html>
1 change: 1 addition & 0 deletions gallery/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<html><script>location.pathname='xdial_cf_gallery';</script><body></body></html>
7 changes: 7 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<!DOCTYPE html><html><head><title>xDial</title><meta charset="UTF-8"><meta name='viewport' content='width=device-width, initial-scale=1'/><style>

</style><script src='util.js'></script><script>

</script><body>

</body></head>
4 changes: 4 additions & 0 deletions manual/en/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 12063df54acc608fa656f0f68c28361c
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added manual/en/.nojekyll
Empty file.
2 changes: 2 additions & 0 deletions manual/en/_sources/clock_faces.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Clock faces
================
2 changes: 2 additions & 0 deletions manual/en/_sources/faq.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FAQ
============
39 changes: 39 additions & 0 deletions manual/en/_sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
xDial user manual
=================================

.. toctree::
:maxdepth: 1

wifi_provision
settings
ota
clock_faces
weather
perfmon
faq


Product parameters
--------------------

.. csv-table::

"Shell", "Resin 3D printed"
"Size", "52*47*54 mm"
"Screen", "Ø 32 mm, 240*240 pixels"
"Power", "DC 5V, USB Type-C (no battery)"
"Processor", "ESP32-C3"
"WiFi", "2.4 GHz, 802.11 b/g/n"
"Flash", "32 Mbit"
"Language", "En/中文"

⚠️ The shell is 3D printed with resin, it may soften and deform in high-temperature environment.


..
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
2 changes: 2 additions & 0 deletions manual/en/_sources/ota.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
OTA update
==================
2 changes: 2 additions & 0 deletions manual/en/_sources/perfmon.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Perfmon
===============
2 changes: 2 additions & 0 deletions manual/en/_sources/settings.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Settings
=============
2 changes: 2 additions & 0 deletions manual/en/_sources/weather.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Weather
===========
2 changes: 2 additions & 0 deletions manual/en/_sources/wifi_provision.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
WiFi provision
===================
123 changes: 123 additions & 0 deletions manual/en/_static/_sphinx_javascript_frameworks_compat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
/* Compatability shim for jQuery and underscores.js.
*
* Copyright Sphinx contributors
* Released under the two clause BSD licence
*/

/**
* small helper function to urldecode strings
*
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
*/
jQuery.urldecode = function(x) {
if (!x) {
return x
}
return decodeURIComponent(x.replace(/\+/g, ' '));
};

/**
* small helper function to urlencode strings
*/
jQuery.urlencode = encodeURIComponent;

/**
* This function returns the parsed url parameters of the
* current request. Multiple values per key are supported,
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
if (typeof s === 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
for (var i = 0; i < parts.length; i++) {
var tmp = parts[i].split('=', 2);
var key = jQuery.urldecode(tmp[0]);
var value = jQuery.urldecode(tmp[1]);
if (key in result)
result[key].push(value);
else
result[key] = [value];
}
return result;
};

/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
function highlight(node, addItems) {
if (node.nodeType === 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 &&
!jQuery(node.parentNode).hasClass(className) &&
!jQuery(node.parentNode).hasClass("nohighlight")) {
var span;
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
if (isInSVG) {
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
} else {
span = document.createElement("span");
span.className = className;
}
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
if (isInSVG) {
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
var bbox = node.parentElement.getBBox();
rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
addItems.push({
"parent": node.parentNode,
"target": rect});
}
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
highlight(this, addItems);
});
}
}
var addItems = [];
var result = this.each(function() {
highlight(this, addItems);
});
for (var i = 0; i < addItems.length; ++i) {
jQuery(addItems[i].parent).before(addItems[i].target);
}
return result;
};

/*
* backward compatibility for jQuery.browser
* This will be supported until firefox bug is fixed.
*/
if (!jQuery.browser) {
jQuery.uaMatch = function(ua) {
ua = ua.toLowerCase();

var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];

return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
jQuery.browser = {};
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
}
Loading

0 comments on commit 863938b

Please sign in to comment.