How to write a variable to a MMA8451 register using SDK 2.1?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to write a variable to a MMA8451 register using SDK 2.1?

ソリューションへジャンプ
1,673件の閲覧回数
marks
Contributor IV

Hello, I would like to write a variable value to a threshold register in the MMA8451. Using SDK 2.1. The register write drivers are all set up to  use constants. For example, to write to the CTRL_REG1 you need to do all this:

// Each entry in a RegisterWriteList is composed of: register address, value to write, bit-mask to apply to write (0 enables)
const registerwritelist_t MMA845x_IDLE[] =
{
    { MMA845x_CTRL_REG1, 0x00, 0x01 },
    __END_WRITE_DATA__
};

int8_t MMA845x_Idle(struct PhysicalSensor *sensor, SensorFusionGlobals *sfg)
{
int32_t status;
if(sensor->isInitialized == F_USING_ACCEL) {
    status = Sensor_I2C_Write(sensor->bus_driver, &sensor->deviceInfo, sensor->addr, MMA845x_IDLE );
    sensor->isInitialized = 0;
    sfg->Accel.isEnabled = false;
} else {
    return SENSOR_ERROR_INIT;
}
    return status;
}

And once you had all of that done you would use it by:

global_I2C_status = MMA845x_IDLE(&(sensors[0]), &sfg);

And the above method works well for writing a constant. However, I would like to write a variable. Could someone please be kind enough to help me out. I miss the good old days where something like WriteI2CByte_MMA8451(MMA8451_CTRL_REG1,0x06) would work but I can not find anything simple like that.

Best regards,

Mark

0 件の賞賛
1 解決策
1,601件の閲覧回数
marks
Contributor IV

Never mind. I ended up just defining 5 constants as thresholds and used those.

Thanks for reading!

Mark

元の投稿で解決策を見る

0 件の賞賛
1 返信
1,602件の閲覧回数
marks
Contributor IV

Never mind. I ended up just defining 5 constants as thresholds and used those.

Thanks for reading!

Mark

0 件の賞賛
%3CLINGO-SUB%20id%3D%22lingo-sub-868175%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ESDK%202.1%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20MMA8451%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AB%E5%A4%89%E6%95%B0%E3%82%92%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80%E6%96%B9%E6%B3%95%E3%81%AF%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-868175%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%82MMA8451%20%E3%81%AE%E3%81%97%E3%81%8D%E3%81%84%E5%80%A4%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AB%E5%A4%89%E6%95%B0%E5%80%A4%E3%82%92%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%9F%E3%81%84%E3%81%AE%E3%81%A7%E3%81%99%E3%81%8C%E3%80%82SDK%202.1%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%AF%E3%81%99%E3%81%B9%E3%81%A6%E5%AE%9A%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81CTRL_REG1%20%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80%E3%81%AB%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E6%93%8D%E4%BD%9C%E3%82%92%E3%81%99%E3%81%B9%E3%81%A6%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%2F%2F%20RegisterWriteList%20%E3%81%AE%E5%90%84%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AA%E3%81%AF%E3%80%81%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%80%81%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80%E5%80%A4%E3%80%81%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%AB%E9%81%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%83%93%E3%83%83%E3%83%88%20%E3%83%9E%E3%82%B9%E3%82%AF%20(0%20%E3%81%8C%E6%9C%89%E5%8A%B9)%20%E3%81%A7%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20const%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%83%AA%E3%82%B9%E3%83%88_t%20MMA845x_IDLE%5B%5D%20%3D%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20%7B%20MMA845x_CTRL_REG1%2C%200x00%2C%200x01%20%7D%2C%3CBR%20%2F%3E%20__END_WRITE_DATA__%3CBR%20%2F%3E%20%7D%3B%3C%2FP%3E%3CP%3Eint8_t%20MMA845x_Idle(%E6%A7%8B%E9%80%A0%E4%BD%93%E7%89%A9%E7%90%86%E3%82%BB%E3%83%B3%E3%82%B5%20*%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%80%81%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%95%E3%83%A5%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%20*sfg)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20int32_t%20%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%3B%3CBR%20%2F%3E%20if(sensor-%26gt%3BisInitialized%20%3D%3D%20F_USING_ACCEL)%20%7B%3CBR%20%2F%3E%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%20%3D%20Sensor_I2C_Write(sensor-%26gt%3Bbus_driver%2C%20%26amp%3Bsensor-%26gt%3BdeviceInfo%2C%20sensor-%26gt%3Baddr%2C%20MMA845x_IDLE%20)%3B%3CBR%20%2F%3E%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC-%26gt%3BisInitialized%20%3D%200%3B%3CBR%20%2F%3E%20sfg-%26gt%3BAccel.isEnabled%20%3D%20false%3B%3CBR%20%2F%3E%20%7D%20%E3%81%9D%E3%82%8C%E4%BB%A5%E5%A4%96%20%7B%3CBR%20%2F%3E%20SENSOR_ERROR_INIT%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%E3%81%93%E3%82%8C%E3%82%89%E3%81%99%E3%81%B9%E3%81%A6%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%9F%E3%82%89%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eglobal_I2C_status%20%3D%20MMA845x_IDLE(%26amp%3B(%E3%82%BB%E3%83%B3%E3%82%B5%5B0%5D)%2C%20%26amp%3Bsfg)%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E4%B8%8A%E8%A8%98%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%AF%E5%AE%9A%E6%95%B0%E3%81%AE%E8%A8%98%E8%BF%B0%E3%81%AB%E3%82%82%E9%81%A9%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E5%A4%89%E6%95%B0%E3%82%92%E6%9B%B8%E3%81%8D%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%A9%E3%81%AA%E3%81%9F%E3%81%8B%E8%A6%AA%E5%88%87%E3%81%AA%E6%96%B9%E3%80%81%E7%A7%81%E3%82%92%E5%8A%A9%E3%81%91%E3%81%A6%E3%81%8F%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%E3%80%82WriteI2CByte_MMA8451(MMA8451_CTRL_REG1%2C0x06)%20%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%82%E3%81%AE%E3%81%8C%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%9F%E5%8F%A4%E3%81%8D%E8%89%AF%E3%81%8D%E6%99%82%E4%BB%A3%E3%81%8C%E6%87%90%E3%81%8B%E3%81%97%E3%81%84%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81%E3%81%9D%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%8D%98%E7%B4%94%E3%81%AA%E3%82%82%E3%81%AE%E3%81%AF%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EMark%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-868176%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20How%20to%20write%20a%20variable%20to%20a%20MMA8451%20register%20using%20SDK%202.1%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-868176%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E3%81%A9%E3%81%86%E3%81%A7%E3%82%82%E3%80%82%E6%9C%80%E7%B5%82%E7%9A%84%E3%81%AB%E3%81%AF%205%20%E3%81%A4%E3%81%AE%E5%AE%9A%E6%95%B0%E3%82%92%E3%81%97%E3%81%8D%E3%81%84%E5%80%A4%E3%81%A8%E3%81%97%E3%81%A6%E5%AE%9A%E7%BE%A9%E3%81%97%E3%80%81%E3%81%9D%E3%82%8C%E3%82%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%8F%E3%82%8C%E3%81%A6%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%EF%BC%81%3C%2FP%3E%3CP%3EMark%3C%2FP%3E%3C%2FLINGO-BODY%3E