<commit_before>using System;
using System.Collections.Generic;

namespace Earlz.MonoSump.Core
{
	/*Proposed schema:
	 * 
	 * { 
	 * 	"ReadCount"=123,
	 *  "Delaycount..."=123,
	 * 
	 * "Triggers" = [
	 *   {
	 * 		"Values"=[ 1: 1, 5:0, 8:1 ];
	 * 		"Delay"=123.
	 *		//etc for rest of config
	 *   }, 
	 *   { //for all 4 stages of triggers
	 * 
	 *   }
	 * ]
	 * }
	 *
	 * 
	 * 
	 * 
	 * 
	 */
	public class SumpConfiguration
	{
		public TriggerStageConfiguration[] TriggerSetup{get;private set;}
		public int ReadCount{get;set;}
		public int DelayCount{get;set;}
		public int SampleFrequency{get;set;}

		public bool Demux{get;set;}
		public bool Filter{get;set;}
		public bool[] DisabledChannelGroups{get;private set;}
		public bool ExternalClock{get;set;}
		public bool InvertedClock{get;set;}

		public SumpConfiguration()
		{
			TriggerSetup=new TriggerStageConfiguration[4];
			DisabledChannelGroups=new bool[4];
		}
	}
	public class TriggerStageConfiguration
	{
		public const int CHANNEL_COUNT=32;
		public IDictionary<int, int> Values{get;private set;}
		public int Delay{get;set;}
		public int Channel{get;set;}
		public int Level{get;set;}
		public bool Start{get;set;}
		public bool Serial{get;set;}
		public TriggerStageConfiguration()
		{
			Values=new Dictionary<int, int>();
		}

	}
}

<commit_msg>Annotated source with Json.Net attributes for proper JSON names<commit_after>using System;
using System.Collections.Generic;
using Newtonsoft.Json;

namespace Earlz.MonoSump.Core
{
	/*Proposed schema:
	 * 
	 * { 
	 * 	"ReadCount"=123,
	 *  "Delaycount..."=123,
	 * 
	 * "Triggers" = [
	 *   {
	 * 		"Values"=[ 1: 1, 5:0, 8:1 ];
	 * 		"Delay"=123.
	 *		//etc for rest of config
	 *   }, 
	 *   { //for all 4 stages of triggers
	 * 
	 *   }
	 * ]
	 * }
	 *
	 * 
	 * 
	 * 
	 * 
	 */
	public class SumpConfiguration
	{
		[JsonProperty("stages")]
		public TriggerStageConfiguration[] TriggerSetup{get;private set;}
		[JsonProperty("readCount")]
		public int ReadCount{get;set;}
		[JsonProperty("delayCount")]
		public int DelayCount{get;set;}
		[JsonProperty("sampleFrequency")]
		public int SampleFrequency{get;set;}
		[JsonProperty("demux")]
		public bool Demux{get;set;}
		[JsonProperty("noiseFilter")]
		public bool Filter{get;set;}
		[JsonProperty("disabledGroups")]
		public IDictionary<int, bool> DisabledChannelGroups{get;private set;}
		[JsonProperty("externalClock")]
		public bool ExternalClock{get;set;}
		[JsonProperty("invertClock")]
		public bool InvertedClock{get;set;}

		public SumpConfiguration()
		{
			TriggerSetup=new TriggerStageConfiguration[4];
			DisabledChannelGroups=new Dictionary<int, bool>();
			ReadCount=10;
			DelayCount=10;
			SampleFrequency=1000;
			Demux=false;
			Filter=false;
			ExternalClock=false;
			InvertedClock=false;
		}
	}
	public class TriggerStageConfiguration
	{
		[JsonIgnore]
		public const int CHANNEL_COUNT=32;
		[JsonProperty("triggers")]
		public IDictionary<int, int> Values{get;private set;}
		[JsonProperty("delay")]
		public int Delay{get;set;}
		[JsonProperty("serialChannel")]
		public int? Channel{get;set;}
		[JsonProperty("level")]
		public int Level{get;set;}
		[JsonProperty("start")]
		public bool Start{get;set;}
		public TriggerStageConfiguration()
		{
			Values=new Dictionary<int, int>();
			Delay=0;
			Level=0;
			Channel=null;
			Start=false;
		}

	}
}


{'fraction_non_alphanumeric': 0.1382819515115235, 'fraction_numerical': 0.014666267584555522, 'mean_word_length': 3.9732142857142856, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, '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': '6631546', 'n_tokens_mistral': 1310, 'n_tokens_neox': 1103, 'n_words': 231}