Skip to content

1.2 develop #88

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jan 12, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,16 @@ NefryBTは適宜バージョンアップをしてArduinoIDEのボードマネー

## リンク

[Facebookグループ](https://www.facebook.com/nefrystudio/)
[質問等についてはこちら](https://teratail.com/tags/Nefry)
[NefryBTドキュメント](https://dotstud.io/docs/nefrybt/)
[NefryBT説明書](https://drive.google.com/file/d/0B_mvDQF8yaQRLVprUHl4WTFLWVE/view)
- [Facebookグループ](https://www.facebook.com/nefrystudio/)
- [質問等についてはこちら](https://teratail.com/tags/Nefry)
- [NefryBTドキュメント](https://dotstud.io/docs/nefrybt/)
- [NefryBT説明書](https://drive.google.com/file/d/0B_mvDQF8yaQRLVprUHl4WTFLWVE/view)

## エラーデコーダー

[EspExceptionDecoder](https://github.com/me-no-dev/EspExceptionDecoder) エラーデコーダはこちらからダウンロードできます。

## ESP32Dev Board PINMAP
## NefryBT Board PINMAP

![Pin Functions](https://nefry.studio/img/nefrybt_pinmap.png)

Expand Down
67 changes: 53 additions & 14 deletions cores/esp32/nefry/Nefry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ BootMode
1 : WriteMode切替をする
*/

#define LIBVERSION ("1.0.9")
#define LIBVERSION ("1.2.0")
#include "Nefry.h"

Adafruit_NeoPixel _NefryLED[40];
Expand All @@ -49,16 +49,19 @@ void Nefry_lib::nefry_init() {
NefryDataStore.begin();
delay(500);
setLed(0x00, 0x8f, 0x00);
Serial.println(F("WiFi Startup"));
if (NefryDataStore.getModuleID().equals("")) { NefryDataStore.setModuleID(getDefaultModuleId()); }
if (readSW()) { _bootMode = 2; }
setLedBlink(0, 0xbf, 0, true, 100);
NefryWiFi.begin();
Serial.println("WiFi connected");
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
Serial.print("IP address: ");
Serial.println(WiFi.localIP());

if(Nefry.getWifiEnabled()) {
Serial.println(F("WiFi Startup"));
if (NefryDataStore.getModuleID().equals("")) { NefryDataStore.setModuleID(getDefaultModuleId()); }
if (readSW()) { _bootMode = 2; }
setLedBlink(0, 0xbf, 0, true, 100);
NefryWiFi.begin();
Serial.println("WiFi connected");
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
setLedBlink(0, 0, 0, false, 0);
delay(100);
setLed(0x00, 0xcf, 0x00);
Expand All @@ -76,17 +79,26 @@ void Nefry_lib::nefry_init() {
Serial.println(F("\nServer started"));
/* Module状況表示 */
/* IPaddress display表示 */
printDeviceInfo();
if(Nefry.getWifiEnabled()){
printDeviceInfo();
}
setLed(0x00, 0xff, 0xff);

_nefryWifiWait = 0;
}

void Nefry_lib::nefry_loop() {
NefryWiFi.run();
if(Nefry.getWifiEnabled()){
_nefryWifiWait++;
if (_nefryWifiWait > 1000) {//WiFiに接続する間隔を10秒ごとに修正
_nefryWifiWait = 0;
NefryWiFi.run();
}
}
}

void Nefry_lib::printDeviceInfo()
{
if(!Nefry.getDisplayStatusEnabled()) { return; }
NefryDisplay.setAutoScrollFlg(true);
NefryDisplay.autoScrollFunc(getNefryDisplayInfo);
}
Expand Down Expand Up @@ -400,4 +412,31 @@ void Nefry_lib::setLedBlink(int red,int green,int blue,bool EN,int wait) {
_nefryLedBlinkState[3] = EN;
_nefryLedBlinkState[4] = wait;
}

// Wi-FiのON/OFF
void Nefry_lib::enableWifi() {
_wifiEnableFlg = true;
}

void Nefry_lib::disableWifi() {
_wifiEnableFlg = false;
}

bool Nefry_lib::getWifiEnabled() {
return _wifiEnableFlg;
}

// ディスプレイステータスのON/OFF
void Nefry_lib::enableDisplayStatus() {
_displayStatusFlg = true;
}

void Nefry_lib::disableDisplayStatus() {
_displayStatusFlg = false;
}

bool Nefry_lib::getDisplayStatusEnabled() {
return _displayStatusFlg;
}

Nefry_lib Nefry;
21 changes: 16 additions & 5 deletions cores/esp32/nefry/Nefry.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,10 @@ class Nefry_lib
setStoreStr(String str,const int pointer),
getWriteMode(),
readSW(),
getPollingSW();

getPollingSW(),
getWifiEnabled(),
getDisplayStatusEnabled();

String
getModuleID(),
getModuleClass(),
Expand Down Expand Up @@ -79,6 +81,12 @@ class Nefry_lib
enableSW(),
disableSW(),

enableWifi(),
disableWifi(),

enableDisplayStatus(),
disableDisplayStatus(),

/* Pollingでスイッチの状態をチェック */
pollingSW(),

Expand Down Expand Up @@ -148,12 +156,15 @@ class Nefry_lib
bool
_swEnableFlg = false,/* SWの有効無効化 */
_swflg = false, /* SWの状態を保持 */
_swPushingflg = false;

_swPushingflg = false,
_wifiEnableFlg = true,/* Wi-Fiの有効無効化 */
_displayStatusFlg = true;/* ディスプレイの状態表示の有効無効化 */

int
_bootMode = -1, /* Boot状態を管理 -1:初期化中 0:起動中 1:通常起動 2:書き込みモード */
hextonum(char c),
_nefryState = 0;
_nefryState = 0,
_nefryWifiWait;
int _nefryLedBlinkState[5];
const char * program;
};
Expand Down
6 changes: 6 additions & 0 deletions cores/esp32/nefry/NefryDisplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@ void Nefry_Display::end()
{
_nefrySsdDisplay.end();
}

void Nefry_Display::setColor(OLEDDISPLAY_COLOR color)
{
_nefrySsdDisplay.setColor(color);
}

void Nefry_Display::drawString(int16_t x, int16_t y, String text, int16_t maxLineWidth)
{
/* スクロール機能未実装 */
Expand Down
3 changes: 3 additions & 0 deletions cores/esp32/nefry/NefryDisplay.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ class Nefry_Display
// ディスプレイで使用しているメモリを解放する
void end();

// Sets the color of all pixel operations
void setColor(OLEDDISPLAY_COLOR color);

//指定された場所に最大幅の文字列を描画します。
//指定されたStringが指定された幅よりも広い場合
//テキストはスペースまたはダッシュで次の行に折り返されます
Expand Down
24 changes: 24 additions & 0 deletions cores/esp32/nefry/NefrySetting.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/**
Nefry lib

Copyright (c) 2016 wami

This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php
*/

#include "NefrySetting.h"

FUNC_POINTER fsetup=nullptr;
NefrySetting::NefrySetting(){}

NefrySetting::NefrySetting(FUNC_POINTER _Func_setup){
fsetup = _Func_setup;
}

void NefrySetting::setupSetting()
{
if (fsetup != nullptr) {
fsetup();
}
}
14 changes: 14 additions & 0 deletions cores/esp32/nefry/NefrySetting.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#ifndef NefrySetting_h
#define NefrySetting_h
#include "NefrySettingBase.h"
typedef void(*FUNC_POINTER)(void);
class NefrySetting
{
public:
NefrySetting();
NefrySetting(FUNC_POINTER _Func_setting);
void setupSetting();
private:

};
#endif
7 changes: 7 additions & 0 deletions cores/esp32/nefry/NefrySettingBase.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#ifndef Nefry_SettingBase_h
#define Nefry_SettingBase_h
typedef void(*FUNC_POINTER)(void); //�֐��|�C���^��typedef
extern FUNC_POINTER fsetup, floop;

//extern Nefry_Write NefryWriteMode;
#endif
2 changes: 1 addition & 1 deletion cores/esp32/nefry/NefryWeb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ void Nefry_Web::beginWeb() {
content += indexlink;
content += F("</ul><p>Nefry library:");
content += Nefry.getVersion();
content += F("</br>Running ProgramName:");
content += F("</br>Running Program Name:");
content += Nefry.getProgramName();
content += F("</p>");
NefryWebServer.getWebServer()->send(200, "text/html", createHtml(F("Nefry Menu"), "", content));
Expand Down
5 changes: 5 additions & 0 deletions cores/esp32/nefry/NefryWiFi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ void Nefry_WiFi::begin() {
NefryDisplay.drawString(10, 14, "Scanning WiFi");
NefryDisplay.drawProgressBar(14, 44, 100, 14, 0);
NefryDisplay.display();
WiFi.disconnect();
delay(2000);
WiFi.persistent(false);
WiFi.mode(WIFI_AP_STA);
wifiMulti = WiFiMulti();
Expand Down Expand Up @@ -76,6 +78,8 @@ run関数で返す値
if (getWifiTimeout() == -1)return 1;
if (getWifiTimeout() != 0 && getWifiTimeout() <= _WifiTimeOutCount)return 2;
uint8_t wifiStatus = wifiMulti.run(Nefry.getBootMode());
WiFi.setAutoConnect(true);
WiFi.setAutoReconnect(true);
if (prevWifiStatus != wifiStatus) {
prevWifiStatus = wifiStatus;
if (wifiStatus == WL_CONNECTED) {
Expand Down Expand Up @@ -105,6 +109,7 @@ run関数で返す値
break;
case WL_NO_SSID_AVAIL:
Serial.println(F("SSID Not Found"));
WiFi.disconnect();
return 4;
break;
case WL_SCAN_COMPLETED:
Expand Down
7 changes: 4 additions & 3 deletions cores/esp32/nefry/inc/WiFi/examples/WiFiMulti/WiFiMulti.ino
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

#include <WiFi.h>
#include <WiFiMulti.h>
#include <Nefry.h>

WiFiMulti wifiMulti;

Expand All @@ -18,7 +19,7 @@ void setup()
wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3");

Serial.println("Connecting Wifi...");
if(wifiMulti.run() == WL_CONNECTED) {
if(wifiMulti.run(Nefry.getBootMode()) == WL_CONNECTED) {
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Expand All @@ -28,8 +29,8 @@ void setup()

void loop()
{
if(wifiMulti.run() != WL_CONNECTED) {
if(wifiMulti.run(Nefry.getBootMode()) != WL_CONNECTED) {
Serial.println("WiFi not connected!");
delay(1000);
}
}
}
2 changes: 1 addition & 1 deletion cores/esp32/nefry/inc/WiFi/src/WiFiMulti.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ uint8_t WiFiMulti::run(int mode)

// wait for connection or fail
while(status != WL_CONNECTED && status != WL_NO_SSID_AVAIL && status != WL_CONNECT_FAILED) {
delay(70);
delay(200);
status = WiFi.status();
wifiDisplayScroll++;
if (wifiDisplayScroll > 50)break;
Expand Down
16 changes: 13 additions & 3 deletions libraries/Nefry/Nefry.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ class Nefry_lib
setStoreStr(String str, const int pointer),
getWriteMode(),
readSW(),
getPollingSW();
getPollingSW(),
getWifiEnabled(),
getDisplayStatusEnabled();

String
getModuleID(),
Expand Down Expand Up @@ -59,6 +61,12 @@ class Nefry_lib
enableSW(),
disableSW(),

enableWifi(),
disableWifi(),

enableDisplayStatus(),
disableDisplayStatus(),

/* Pollingでスイッチの状態をチェック */
pollingSW(),

Expand Down Expand Up @@ -126,8 +134,10 @@ class Nefry_lib
bool
_swEnableFlg = false,/* SWの有効無効化 */
_swflg = false, /* SWの状態を保持 */
_swPushingflg = false;

_swPushingflg = false,
_wifiEnableFlg = true,/* Wi-Fiの有効無効化 */
_displayStatusFlg = true;/* ディスプレイの状態表示の有効無効化 */

int
_bootMode = -1, /* Boot状態を管理 -1:初期化中 0:起動中 1:通常起動 2:書き込みモード */
hextonum(char c),
Expand Down
Loading