BluetoothGattCallbackでonCharacteristicChanged前にSTATE_DISCONNECTEDが発生する

AndroidのBLE通信にて、通常はonConnectionStateChange(STATE_CONNECTED)→ onServicesDiscovered()→ onCharacteristicChanged() → onConnectionStateChange( STATE_DISCONNECTED)とイベントが発生しますが、

時折、 onConnectionStateChange(STATE_CONNECTED) → 十数秒経過 → onConnectionStateChange( STATE_DISCONNECTED) と、計測値をえられず切断されていまう事象が発生しました。

ログトレースを採ってみると、以下のような感じでした。STATE_DISCONNECTEDまで17秒。この時間はわりとコンスタントです。計測器に再Connectすると、正常に通信できます。

接続対象の計測器のようすは特におかしくないようです。保有している「Adafruit nRF51822搭載 Bluefruit LE Sniffer」では、周波数切替えで接続後のパケットが追えません。何か手続きの順序の誤りでしょうか?

比較的に顧客先で発生しやすいのでノイズ等の外乱でしょうか? (アプリだけの経験の方は分かりにくいとおもいますが、実車でUARTや232Cを使うとよく発生します)

Android内の異常でしょうか? これはちょっと改善しようがありません。

そこで、 onServicesDiscovered ()まで到達したらフラグ変数を立てておき、 STATE_DISCONNECTED 到達時に、そのフラグが立っていなかったら、切断されたと判断し、ユーザに再計測を促すようにしました。

        @Override
        public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
            switch  (newState ) {
            case BluetoothProfile.STATE_CONNECTED :   
             isServiceStart  = false;
                                ( 中 略 )

            case BluetoothProfile.STATE_DISCONNECTED :

                if ( isServiceStart == false ) { 
                    // 相手からの切断を通知
                     return;
                }
                                ( 中 略 )


        @Override
        public void onServicesDiscovered(BluetoothGatt gatt, int status) {
            super.onServicesDiscovered(gatt, status);

           isServiceStart  = true;

                                ( 中 略 )

本解決ではないですが、これでシステムの運用がエラーで中断されることは無くなります。電波状態や距離、遮蔽物によって、計測値を得る前に切れることは、実運用上も十分考えられますし、、、

e-taxで累積赤字決算申請する1:国向け

当社はまだまだ会計事務所に、決算の税務処理を依頼する余裕もなく、それほど会計量もありません。

そこである程度の自動チェックも行われるため、 e-taxで決算税務申請 を行っています。

はじめに

必要なものは、

  1. 電子証明書、当方はマイナンバーカード。法人でも個人の署名でOKのようです。
  2. マイナンバーカード対応のICカードリーダ、当方はSONY RC-S380。

e-taxは、3種類 (仮称) あります。

  1. 国税用WEB版
  2. 国税用PCアプリ版
  3. 地方税用 PCアプリ版

なお、勝手に画面キャプチャを掲載するとNGかもしれませんので文書のみで説明します。

「国税用WEB版」について

EdegやIE対応とうたわれていますが、結局のところchromeでないと動作しませんでした。

「e-Tax AP」というchrome拡張機能のインストールが必要です。

ここで法人の基本情報の登録します。電子証明書もここで登録します。

この後、利用者番号が発行され、「開始届(法人用)新規」をWEB上で送信します。

各申請書の作成は一見、進められるのですが、赤字で国税0円で登録しようとすると、「合計が値の範囲外です」とエラーではじかれます。

対応範囲が狭いのかもしれません。そこで、申請自体は「国税用PCアプリ版」で行います。

「国税用PCアプリ版」について

こちらはインストーラをダウンロードして、PCにインストールします。手順に従って操作していけばOKでした。

「JPKI利用者ソフト」もインストールが必要でした。

まずPC版メニューから「利用者選択」→「作成済みファイルを選択」から開かれるダイアログにて、国用の .nnc ファイルを選択します。国用と県用はどちらがどちらかは自分で管理しておく必要があります。

次にPC版メニューから「作成」→「申告・申請等」を選び、「新規作成(N)」ボタンを押すとダイアログが表示されるます。 「申告」→「法人税・地方法人税」を選び年度( 期末の月の年度 )を選択し、「次へ(n)」を押します。

次の表示されるダイアログから、作成する帳票を選択します。弊方は青色申告の事業者なのでそのカテゴリのツリーを開きそこから選択します。

当方の今期作成した帳票は以下の通りです。 ☆はおススメ作成順です。

  1. 別表等ツリー → 別表一関係 → 別表一 ☆6
  2. 別表等ツリー → 別表一関係 → 別表一次葉 ☆7
  3. 別表等ツリー → 別表二 ☆8
  4. 別表等ツリー → 別表四(簡易形式) ☆2
  5. 別表等ツリー → 別表五(一) ☆4
  6. 別表等ツリー → 別表五(二) ☆5
  7. 別表等ツリー → 別表七(一) ☆3
  8. 勘定科目内訳明細書ツリー → 預貯金等の内訳書 ☆9
  9. 勘定科目内訳明細書ツリー → 売掛金(未収金)の内訳書 ☆10
  10. 勘定科目内訳明細書ツリー → 役員給与等の内訳書 ☆11
  11. 法人事業概況説明書ツリー → 法人事業概況説明書 ☆12
  12. 適用額明細書 → 財務諸表 ☆1

選択が終わったら(後からでも追加できます)「次へ(n)」を押し、申請タイトルを入力します。

申告の基本情報の画面が表示されます。提出日(少し余裕持って先にしています)、会計期間を入力します。他の情報はシステムに記憶されているので「基本情報のインポート」(ローカルファイルからの読込)はあまり意味がないです。手入力が必要なのは事業内容資本金(3桁区切りはNG)くらいです。TEL住所カナは無くてもいいようです。

これで申請帳票のひな形ができました。

これらをPCアプリ上で入力していきます。入力したデータの保存先は、PC上なのかe-taxサーバなのかよくわかりません。マメに印刷してPDFで保存しておきました。

上記1~7の数値はある程度連携していて、別表4から入力すると効率的です。会計ソフト(当方は弥生オンライン)から生成した手コピーしていきます。マイナス値は、マイナスを入力すると▲に変わります。

計の項目や、同じ値の項目は半分くらいは自動入力されます。

帳票個別の入力手順は迷いやすいもののみ説明していきます。

上記12「財務諸表」は、一つのフォルダになっています。double clickで開いてこの中で、まず初期設定します。

次に「帳票追加(I)」から帳票を追加します。

当方では、

  1. 貸借対照表
  2. 損益計算書
  3. 株主資本等変動計算書 (1.と2.より自動計算されます)
  4. 個別注記表

これらは必要な勘定科目をチェックで選び、数値を会計ソフトから手コピーしていきます。以下留意事項です。

  • こちらも3桁カンマは入力エラーとなります。(インポート機能もあるようです) せっかく生成した会計ソフトの財務諸表は、申請では使いません。
  • 数値は入力時に赤字になりますがエラーではなく未保存の意味のようです。「保存」を押すと黒字になります。
  • 試験研究費」が営業外費用となるかなど、勘定科目 の分類が、弥生と少し違うようです。これはe-taxの分類に合わせました。
  • 任意の科目は追加できないようです。「仮想通貨」は未だ無いようですので「その他」で処置しました。
  • これは会計上の気づきですが、2期目以降で赤字続きの時は、未払い法人税は、未払い7万円、支払い7万円で0となり、貸借対称表上では現れないので無くてもよい。
  • 弥生で登場する合同会社向けと思われる「社員資本xxx」は無い。「株主資本xxx」で代用する。
  • 試験研究費はeTAXでは販売費用のみとなる。営業外費用のは場合は、eTAX側に合せしかない模様。

全帳票の作成後、 帳票を開き「作成完了」ボタンを押します。 (「作成完了」 しても再編集はできます) 帳票は印刷してPDF化できます。

  • 当期利益又は当期欠損 は、法人税差引後の純利益/損失を入力します。
  • 欠損金等の当期控除額は手入力が必要です。別表7(1)からは転記されないみたいです。
  • 繰越す欠損金には、法人税差引き前で行います。(しかしなんか損しているきがする…)
  • 過去会計期の欠損金で 0 に償却できたものは記載しません。(書式から推測、たぶん…)
  • 法人税差引き前で黒字の場合、当期欠損金額は 0 です。
  • 中小企業の損金繰越しは100%。100のチェックボタンをチェックを入れます。

別表五(二)

  • 期首納税充当金の入力を忘れないよう。

別表一

  • 欠損金等の当期控除額の入力を忘れないよう。
  • 累積赤字がある間は、入力する内容が無いです。
  • 2ページ目あり。
  • 電帳法適用状況が追加された。国税説明によると、データで整理保存され、参照手順があり、要請があったとき速やかデータ提供できるなら(データがリンクされていると解釈) 優良 で良いようです。’24以降は具体的な項目に置き換わったようです。

国税の申請手順

PC版 で行います。メニューから「署名可能一覧」→「電子署名」を開き、申請フォルダを選んで「署名(G)」ボタンを押します。

そうすると、帳票の自動チェックが行われます。わりと具体的にどの帳票のどこが悪いとチェックしてくれます。エラーが出た場合は、もう一度帳票を開いて修正します。帳票編集時のチェックとの役割分担はよくわかりません。

自動計算部を手入力で修正した場合も、以下の様にエラーかでますが、手入力値に自信がある自動計算のバグではないか?申請を急いでいる という場合は強制続行できるようです。

以下のように xml エラー という具体的なエラー内容が表示されないケースも見受けられます。以下ケースの原因は、年月日の月日だけ未入力でした。帳票入力時に基本的なチェックがされておらず、送信時に異常が発生するパターンがあるようです、これは厄介ですね。

チェックがOKになると、電子署名のダイアログが何回か表示されます。

「暗証番号の入力」ダイアログでは、「利用者番号によるログイン」の方を選びます。

次にメニューから「送信可能一覧」→「送信」を開き、申請フォルダを選んで「送信(N)」ボタンを押します。

送信結果を確認するには、メニューから「メッセージボックス」→「 メッセージボックス 」を開きます。送信できてもエラーと扱われる場合があるため必ず確認が必要です。

マイナカードの更新等で電子証明書を変更した場合は、以下のエラーが発生します。

一度送信が失敗すると、その申請は再送信できなくなります。この場合、帳票を開いて再保存すると、別申告名で保存するか聞いてくれるので、それに従って保存します。帳票一つでも全帳票をコピーしてくれます。

「受付結果」の列に、 「受付完了」と記載されていれば届いているようです。何かいろいろチェックされるのかなと思っていましたが、送信から概ね数分で 「受付完了」 となります。送信結果を開くと、

送信されたデータを受け付けました。なお、後日、内容の確認のため、担当職員からご連絡させていただく場合がありますので、ご了承ください。 」

と記載されていますが、誤りがなければ連絡は来ないようです。

次は、地方法人税の申請に続きます。 今回は赤字のため、法人県民税と法人市町村民税は7万円固定となるため、国税を先に行いましたが、黒字の場合は、 地方法人税 を先に行う必要がありそうです。

県と市町村の申請ににつづきます。

セロー225 サブタンク移植プレート

趣味を事業化できれば効率的です。簡単な自動車用品を開発販売できないか模索しています。

これは何だかわかりますでしょうか?

これはセロー225に、オイルクーラーを装着したとき、リアサスのサブタンクを左側に移設するためのプレートです。

ホーンの取り付け穴を利用して、取り付けます。 (ホーン は別の場所に移動させます) 材質はアルミです。

フレームにサブタンクを直接スチールバンドで固定することも可能ですが、ずれてきますし、何といっても 美しい 取付 といえません。 溶接設備 がないと、右側からオリジナルのプレートを切り取って付けるのも大変です。

装着状態の画像は以下のとおりです。

ご興味のある方で自作は面倒な方はこちらまで。 知り合いのレース屋さんに量産を相談してみます。

BluetoothGattCallback STATE_DISCONNECTEDでstatus=14が発生する

AndroidのBLE通信にて、BluetoothGattCallbackのonConnectionStateChange(STATE_DISCONNECTED)にて、status=14で切断される事象が発生しました。発生頻度は低く、発生後BLE通信の調子が悪化し、14が連発します。

弊方のトレースログでは、

発生頻度は低いですが、発生後BLE通信の調子が悪化し、14が連発します。 アプリを再起動すると復活します。

海外のサイトを調べると「14」は、GATT_ERR_UNLIKELY、直訳すると「ありえないエラー」です。

それ以外、WEB上には詳しい情報や事例はありません。弊方は、複数のBLE計測器機器を、シーケンシャルに読みだししています。その影響でありましょうか?

再現性も不明。エラーメッセージを表示して、ユーザに計測を中止してもらうしかありませんでした。

SERROW225 エクステンションキャリア

趣味を事業化できれば効率的です。簡単な自動車用品を開発販売できないか模索しています。

SERROW225 エクステンションキャリアの試作を紹介します。

SERROW225は足&旅パイクとしても多く利用されるようですが、Y’s Gear純正のアルミキャリアは、ちょっと小さいです。アルミ角材で拡張している方もますが、美しくない。大きすぎるのも美しくない。そこでアルミ縞板で、コンパクトな追加荷台を作成しみました。

ご興味のある方で自作は面倒な方はこちらまで。 知り合いのレース屋さんに量産を相談してみます。