<commit_before>#pragma once
//=====================================================================//
/*!	@file
	@brief	RL78/G13 グループ・データ・フラッシュ制御
    @author 平松邦仁 (<EMAIL>)
	@copyright	Copyright (C) 2017 <NAME> @n
				Released under the MIT license @n
				https://github.com/hirakuni45/RL78/blob/master/LICENSE
*/
//=====================================================================//
#include "data_flash_lib/data_flash_util.h"

namespace device {

	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
	/*!
		@brief  フラッシュ制御クラス
	*/
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
	class flash_io {
	public:
		//-----------------------------------------------------------------//
		/*!
			@brief  データ・フラッシュ構成 @n
					（全体８Ｋバイト、ブロック８個、バンク１０２４個）
		*/
		//-----------------------------------------------------------------//
		static const uint16_t data_flash_block = 1024;	///< データ・フラッシュのブロックサイズ
		static const uint16_t data_flash_size  = 8192;	///< データ・フラッシュの容量
		static const uint16_t data_flash_bank  = 8;		///< データ・フラッシュのバンク数


		//-----------------------------------------------------------------//
		/*!
			@brief  エラー型
		*/
		//-----------------------------------------------------------------//
		enum class error : uint8_t {
			NONE,		///< エラー無し
			ADDRESS,	///< アドレス・エラー
			TIMEOUT,	///< タイム・アウト・エラー
			LOCK,		///< ロック・エラー
		};

	private:
		error		error_;

	public:
		//-----------------------------------------------------------------//
		/*!
			@brief  コンストラクター
		*/
		//-----------------------------------------------------------------//
		flash_io() : error_(error::NONE) { }


		//-----------------------------------------------------------------//
		/*!
			@brief  開始
		*/
		//-----------------------------------------------------------------//
		bool start()
		{<commit_msg>update device selector<commit_after>#pragma once
//=====================================================================//
/*!	@file
	@brief	RL78/G13 グループ・データ・フラッシュ制御
    @author 平松邦仁 (<EMAIL>)
	@copyright	Copyright (C) 2017 <NAME> @n
				Released under the MIT license @n
				https://github.com/hirakuni45/RL78/blob/master/LICENSE
*/
//=====================================================================//
#include "data_flash_lib/data_flash_util.h"

/// DEVICE_SIG はデータ・フラッシュ・メモリーの容量定義に必要で、設定が無ければエラーとする
#ifndef DEVICE_SIG
#  error "flash_io.hpp requires DEVICE_SIG to be defined"
#endif

namespace device {

	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
	/*!
		@brief  フラッシュ制御クラス
	*/
	//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
	class flash_io {
	public:
		//-----------------------------------------------------------------//
		/*!
			@brief  データ・フラッシュ構成 @n
					R5F100LC, R5F100LE: 4K, 4 x 1024 @n
					R5F100LG, R5F100LJ: 8K, 8 x 1024
		*/
		//-----------------------------------------------------------------//
		static const uint16_t data_flash_block = 1024;	///< データ・フラッシュのブロックサイズ
#if (DEVICE_SIG == R5F100LC) || (DEVICE_SIG == R5F100LE)
		static const uint16_t data_flash_size  = 4096;	///< データ・フラッシュの容量
		static const uint16_t data_flash_bank  = 4;		///< データ・フラッシュのバンク数
#elif (DEVICE_SIG == R5F100LG) || (DEVICE_SIG == R5F100LJ)
		static const uint16_t data_flash_size  = 8192;	///< データ・フラッシュの容量
		static const uint16_t data_flash_bank  = 8;		///< データ・フラッシュのバンク数
#else
		static const uint16_t data_flash_size  = 0;	    ///< データ・フラッシュの容量
		static const uint16_t data_flash_bank  = 0;		///< データ・フラッシュのバンク数
#endif

		//-----------------------------------------------------------------//
		/*!
			@brief  エラー型
		*/
		//-----------------------------------------------------------------//
		enum class error : uint8_t {
			NONE,		///< エラー無し
			ADDRESS,	///< アドレス・エラー
			TIMEOUT,	///< タイム・アウト・エラー
			LOCK,		///< ロック・エラー
		};

	private:
		error		error_;

	public:
		//-----------------------------------------------------------------//
		/*!
			@brief  コンストラクター
		*/
		//-----------------------------------------------------------------//
		flash_io() : error_(error::NONE) { }


		//-----------------------------------------------------------------//
		/*!
			@brief  開始
		*/
		//-----------------------------------------------------------------//
		bool start()
		{
			if(data_flash_size == 0) return false;

{'fraction_non_alphanumeric': 0.47426981919332406, 'fraction_numerical': 0.028280018544274456, 'mean_word_length': 1.3476605005440696, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3055334', 'n_tokens_mistral': 1701, 'n_tokens_neox': 1441, 'n_words': 224}